Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/258.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在winforms中显示PDF_C#_.net_Winforms_Pdf_Itextsharp - Fatal编程技术网

C# 在winforms中显示PDF

C# 在winforms中显示PDF,c#,.net,winforms,pdf,itextsharp,C#,.net,Winforms,Pdf,Itextsharp,我正在尝试使用C.net在winform中显示PDF 我已经包括了iTextSharp库,并成功地打开了PDF文件,但是我从iTextView中得到了一个字节[] PdfReader reader = new PdfReader(GetURI("test.pdf")); reader.getPageN(1); //returns byte array 我找不到关于这个库的太多文档,我想知道如何在实际表单上获得PDF,无论是在图片框还是网络视图中。如何显示PDF的页面 编辑: 我不想在第三

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

我已经包括了iTextSharp库,并成功地打开了PDF文件,但是我从iTextView中得到了一个字节[]

 PdfReader reader = new PdfReader(GetURI("test.pdf")); 
 reader.getPageN(1); //returns byte array
我找不到关于这个库的太多文档,我想知道如何在实际表单上获得PDF,无论是在图片框还是网络视图中。如何显示PDF的页面

编辑:

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

我不想依赖adobe reader


我想重点介绍一个使用iTextSharp或类似工具的解决方案,因为我需要保护PDF,对其进行加密并最终修改。

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

private void RenderPdf(string filePath)
{
    if (!string.IsNullOrWhiteSpace(filePath))
    {
        webBrowser1.Navigate(@filePath);
    }
}
通过传递PDF文件路径调用此方法

RenderPdf(@"PDF path");

这是一个问题的副本

我找到的答案是:

我认为最简单的方法是使用AdobePDF阅读器COM组件 右键单击工具箱并选择项选择COM “组件”选项卡选择Adobe PDF Reader 然后单击ok拖放 窗体上的控件&将src属性修改为PDF文件 你想阅读我希望这有帮助


ITextSharp允许您创建和操作pdf,但不提供任何呈现选项,如布拉德利·史密斯在上述评论中所说

很久以前我也做过类似的事情,结果我用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"));

使用任何供应商提供的查看器控件如何?在谷歌的第一页找到它:

如果可以选择商业图书馆,试试看。您可以在表单中显示PDF文档、修改文档或对其进行加密。您不需要依赖任何其他要安装的程序或任何外部进程

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


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

不,这将提示浏览器下载PDF或在某些第三方软件中打开它,我不想要它,我需要它的形式。请看:iTextSharp库仅用于解析和创建PDF;它没有任何呈现/显示文档的功能。唉,这个网站多年前就很有用了。我会去论坛的,谢谢。这并不能回答这个问题。若要评论或要求作者澄清,请在他们的帖子下方留下评论。@karlingen在编辑之前,它确实回答了他的问题。虽然此链接可以回答问题,但最好在此处包含答案的基本部分,并提供链接供参考。如果链接页面发生变化,只有链接的答案可能无效。@NikolayKostov您说得对,先生,这是答案。与其向我解释为什么要投否决票,这样我就可以修正我的答案,还不如不解释就投否决票。Ghostscript.NET包装器可以在这里找到:谢谢,我最终将PDF拆分为一系列图像,并使用了一个picturebox