【问题标题】:Display a PDF in winforms [duplicate]在winforms中显示PDF [重复]
【发布时间】:2015-07-01 07:40:53
【问题描述】:

我正在尝试使用 C# .net 在 winform 中显示 PDF

我已经包含了 iTextSharp 库,并成功打开了 PDF 文件,但是我从 iTextView 收到了byte[]

 PdfReader reader = new PdfReader(GetURI("test.pdf")); 
 reader.getPageN(1); //returns byte array

我在这个库上找不到太多文档,我想知道如何在实际表单中获取 PDF,无论是在图片框还是 web 视图中。如何显示 PDF 的页面?

编辑:

我不想在第三方阅读器中打开它

我不想依赖 adobe reader

我想专注于使用 iTextSharp 或类似工具的解决方案,因为我需要保护 PDF、对其进行加密并最终对其进行修改。

【问题讨论】:

  • iTextSharp 库仅用于解析和创建 PDF;它没有任何渲染/显示文档的功能。
  • 叹息,这个网站在几年前就很有用了。我会去论坛,谢谢。

标签: c# .net winforms pdf itextsharp


【解决方案1】:

ITextSharp 允许您创建和操作 pdf,但不提供任何呈现选项,如 Bradley Smith 在上面的评论中所说的

很久以前我做过类似的事情,我最终做的是使用Ghostscript 从我的 pdf 生成 tiff 图像并显示它。显然这只是显示一个图像,所以如果你需要编辑 pdf,这对你不起作用。

Ghostscript 只是命令行,所以我认为你必须像这样运行它:

       Process.Start(@"c:\gs\gs.exe",
            String.Format("-o {0} -sDEVICE=tiffg4 -dFirstPage={1} -dLastPage={2} {3}", "tiffPages.tif", fromPage, toPage, "inputfile.pdf"));

【讨论】:

【解决方案2】:

您可以在WebBrowser 控件中轻松显示PDF。将 webBrowser 控件添加到您的 Winform。将以下方法添加到您的表单中。

private void RenderPdf(string filePath)
{
    if (!string.IsNullOrWhiteSpace(filePath))
    {
        webBrowser1.Navigate(@filePath);
    }
}

通过传递PDF文件路径调用该方法,

RenderPdf(@"PDF path");

【讨论】:

  • 否,这会提示浏览器下载 PDF 或在某些第三方软件中打开它,我不想要这个,我需要它在表单中。
【解决方案3】:

本题抄袭this

我找到的答案:

我认为最简单的方法是使用 Adob​​e PDF reader COM Component 右键单击您的工具箱并选择“选择项目”选择“COM 组件”选项卡 选择“Adobe PDF Reader” 然后单击确定拖放 表单上的控件并将“src”属性修改为 PDF 文件 你想读我希望这会有所帮助

【讨论】:

  • 这没有提供问题的答案。要批评或要求作者澄清,请在其帖子下方发表评论。
  • @karlingen 在他进行编辑之前确实回答了他的问题。
  • 虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接的答案可能会失效。
  • @NikolayKostov 先生,您是对的,这就是答案。 (而是向我解释为什么要投反对票以便我可以修正我的答案,而不是在没有解释的情况下投反对票
【解决方案4】:

使用任何供应商的查看器控件怎么样?在谷歌的第一页找到它:viewer control for windows forms

【讨论】:

    【解决方案5】:

    如果可以选择商业图书馆,请尝试Amyuni PDF Creator .Net。您将能够以表格形式显示您的 PDF 文档、修改文档或对其进行加密。您无需依赖任何其他要安装的程序或任何外部进程。

    正如其他答案和 cmets 所提到的,iText 不是为显示 PDF 文档而设计的。

    免责声明:我为 Amyuni Technologies 工作。

    【讨论】:

      猜你喜欢
      • 2011-02-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-03-24
      • 2014-02-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多