我正在寻找新任务的创新解决方案。 我的问题是,我们需要一种方法来预览框架或其他提供链接的网页中的本地文件(扩展名:doc,docx,ppt,pptx,pdf,tif,jpeg)。 预览应该看起来像文件的图像左右。 我们希望防止将文件解析为pdf以便节省时间...
我们正在使用角度7,C#asp.net服务器端。 在大多数解决方案中,我们都受到限制,因为数据非常安全,并且用于内部办公网络, 这就是为什么我们不能使用google docs解决方案的原因。 我还了解到,由于安全性原因,使用iframe标记并将其src属性指向文件源不会加载该页面。 此外,所有用户都可以使用-> IE或其他浏览器选项直接从文档中预览上述文件类型。
我尝试过:
<iframe src="file:///C:/Users/cd/Downloads/MyFile.docx"></iframe>
但是: iframe标记无法打开doc文件,我可以将DOM中的iframe视为新的html,但其中没有任何内容 我也尝试过图像和相同,框架是空白的
答案 0 :(得分:0)
如果您使用的是chrome,则出于安全原因,chrome会专门以这种方式阻止本地文件访问。
此链接的更多详细信息:here
答案 1 :(得分:0)
您可以使用GroupDocs.Viewer以JPEG,HTML格式创建预览,其格式为90多种文件格式。
在基于HTML / JPEG的呈现中,源文档的所有页面均呈现为单独的HTML页面/ JPEG。您可以访问并保存每个页面的表示形式。
一个基本示例:
using GroupDocs.Viewer.Config;
using GroupDocs.Viewer.Handler;
using GroupDocs.Viewer.Domain.Html;
using GroupDocs.Viewer.Converter.Options;
//...
ViewerConfig config = new ViewerConfig();
// Create html handler
ViewerHtmlHandler htmlHandler = new ViewerHtmlHandler(config);
//Instantiate the HtmlOptions object
HtmlOptions options = new HtmlOptions();
//Get document pages in html form
List<PageHtml> pages = htmlHandler.GetPages(documentName, options);
希望有帮助。否则,随时问我。
注意:我是GroupDocs的开发人员布道者。
答案 2 :(得分:0)
一种可能的解决方案是将文档页面呈现为图像,然后将它们显示在网页上,即使用iframe。
您可以使用GroupDocs.Viewer for .NET将文档页面呈现为高保真图像(PNG / JPG)。然后,您可以将图像嵌入到网页中以预览文档。这是您如何获取Word文档中页面的图像表示形式:
using GroupDocs.Viewer.Options;
// Set output path
string OutputPagePathFormat = Path.Combine("D:\\output", "page_{0}.png");
// Render document pages
using (Viewer viewer = new Viewer("D:\\sample.docx"))
{
PngViewOptions options = new PngViewOptions(OutputPagePathFormat);
viewer.View(options);
// Rendered images will be saved in the D:\output\ directory.
}
披露:我是GroupDocs的一名开发人员。