【问题标题】:WPF: Show PdfPage without Adobe/WebBrowser with native c#/wpfWPF:使用本机 c#/wpf 显示没有 Adob​​e/WebBrowser 的 PdfPage
【发布时间】:2018-10-02 10:15:29
【问题描述】:

我想显示 PdfPages 而不显示任何 adobe 或 3rd 方应用程序,例如 WebBrowser(这是一个 activeX 控件)。

基于以下示例,我制作了一个小PdfViewer,我可以在其中轻松显示PdfPages:

此示例背后的策略是将每个页面呈现为image,并直接使用ContentPresenter 显示。


现在我的问题是质量差:效果有些模糊。

同样设置RenderOptions.SetBitmapScalingMode(image, BitmapScalingMode.HighQuality); 也不能解决问题。

Adobe 阅读器

我的解决方案

【问题讨论】:

    标签: c# wpf pdf uwp


    【解决方案1】:

    正如Windows.Data.Pdf Namespace 的介绍,它用于将可移植文档格式 (PDF) 文档中的页面转换为图像文件。如果PDF不在相应的大小上,PDF会被模糊。

    在 UWP 中,PDF API 支持高保真渲染,但仅适用于使用 Direct2D 的 C++ 应用程序。你可以参考这个PDF viewer showcase sample 来学习如何使用它。但是看起来你正在创建一个 WPF 应用程序,你可以尝试一下。

    注意:这是一个Windows 8.1应用,不能用VS2017打开,可以用VS 2013或VS2015,API与UWP应用类似。

    【讨论】:

    • 感谢您的回复!有没有编译好的dll可以直接导入(DLLImport)使用?
    • @DominicJonas 有用于此的 dll。示例只是为了演示如何实现效果,但它包含了效果的所有实现,您可以自己跟着做。
    • 示例链接无效。
    猜你喜欢
    • 1970-01-01
    • 2017-10-15
    • 2013-02-20
    • 2013-04-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-10-30
    • 1970-01-01
    相关资源
    最近更新 更多