如何在浏览器的另一个html页面中预览本地文件

时间:2019-06-02 07:12:18

标签: html angular pdf web iframe

我正在寻找新任务的创新解决方案。 我的问题是,我们需要一种方法来预览框架或其他提供链接的网页中的本地文件(扩展名: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,但其中没有任何内容 我也尝试过图像和相同,框架是空白的

3 个答案:

答案 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的一名开发人员。