【问题标题】:Windows 8 Metro - Best Way To Show A PDF Image [closed]Windows 8 Metro - 显示 PDF 图像的最佳方式 [关闭]
【发布时间】:2012-09-26 10:06:54
【问题描述】:

我有几个包含地图的 PDF 文档。其中哪一个是最佳选择,我该如何实施:

  1. 启动 PDF 文件以显示地图。我认为这不是最佳做法,但我认为您可能需要安装 Adob​​e Reader(对此不确定)。
  2. 将图像转换为图像并在 ScrollViewer 中显示。但是,我无法将其转换为分辨率足够高的图像。如果我这样做,我应该使用什么分辨率?
  3. 我知道可以将 PDF 转换为 XAML。然后我可以直接在 ScrollViewer 中显示 XAML。但是,此过程缓慢且费力,并且生成的 XAML 将非常庞大。不知道表演会是什么样子。
  4. 第四个选项是将地图转换为 XPS 格式,然后尝试启动文档。我不确定这是否可行,以及 XPS 是否受到普遍支持。

【问题讨论】:

    标签: image xaml pdf windows-8 microsoft-metro


    【解决方案1】:
    1. 是的,客户端需要安装一些 PDF 阅读器并默认设置为打开 .pdf 文件以用于这种情况。如果你想这样做,只需使用 Process.Start(pdfFilePath)。如果用户没有与 pdf 关联的应用程序,这将引发异常。如果你想显示“打开方式”对话框,use ProcessStartInfo.ErrorDialog

    2. 这可能是最好的选择。您需要将 PDF 渲染成具有良好分辨率的图像。所以你需要一个PDF库。我猜您使用的是 C#,因此您可以使用 PdfSharp 或 ITextSharp,但请注意,如果您在商业应用程序中使用 ITextSharp,则需要付费。我不知道您对分辨率的要求,但您可以尝试to get user's screen resolution 并做出决定。
      你需要pdf光栅化,检查http://code.google.com/p/lib-pdfhttp://stefanochizzolini.it/en/projects/clown

    3. 据我所知,在自动模式下执行此操作是不可能的。 PDF 是一种非常复杂的格式,它允许非常疯狂的格式,这很难用其他任何东西来重现。 There are ways 从 pdf 生成 xaml,但是在转换后他们需要人工来修复 xaml 问题,所以我想这不是你想要渲染地图的。

    【讨论】:

    • 这是一个新的 WinRT 应用程序。我很久以前尝试过 3 号,记得这很困难,但结果还可以。不过,它生成了数量惊人的 XAML。我还添加了我读过的第四个。 Windows 8 屏幕可以是任意大小,因此不确定数字 2。
    • 糟糕,很抱歉造成混淆。 yms 是对的。你需要pdf光栅化,检查code.google.com/p/lib-pdfstefanochizzolini.it/en/projects/clown
    【解决方案2】:

    经过进一步调查。最好的选择是将您的 PDF 转换为 XPS 格式。然后启动这些文件。每个 Windows 8 安装都内置了一个 XPS 查看器。这样做的主要优点是它将支持任何屏幕分辨率并且非常容易实现。

    【讨论】:

      猜你喜欢
      • 2016-06-19
      • 1970-01-01
      • 2014-02-12
      • 1970-01-01
      • 2010-11-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多