当前位置: 首页 > 编程语言 > C#

在C#中预览PDF共享

时间:2023-04-11 00:14:07 C#

在C#中预览PDF我正在寻找一个允许预览PDF1页文档的.NETGUI组件(不同于PDFsharp)。基本上我需要类似于PictureBox的东西,我可以在其中加载位图并显示它。如果该组件允许在图像内部缩放和移动,那就太好了。首选免费软件解决方案另一种选择是在GUI中使用WebBrowser控件。它将使用浏览器呈现PDF,但我会改用Adob??eReaderActiveX组件。如果您不想在客户端使用任何类型的PDF阅读器,您也可以通过GhostScript将其转换为图形文件并将其显示为位图。您可以使用AcrobatReader自带的activex组件。HowtorenderapdfusingC#这个问题很老,但是建议的解决方案有明显的缺点:幸运的是,存在一个免费的替代方案:poppler工具(基于xpdf代码库),它在GPL下获得许可,可以用作控制台实用程序。.NET代码可以使用System.Diagnostics.Process执行。为了简化poppler工具的使用,我们开发了NReco.PdfRenderer.NET包装器,它嵌入了popplerwindows二进制文件(它们在首次使用时被提取)并提供了一个用于呈现PDF页面的简单API渲染为图像:varpdfToImg=newNReco.PdfRenderer.PdfToImageConverter();图片firstPageImg=pdfToImg.GenerateImage("test.pdf",1);该组件不是免费的,但其定价非常合理。ImageGearfor.NET不是免费的。可以说比你关注的要大。我希望它能以某种方式有所帮助。QuickPDFLibrary,我公司的PDFSDK,将帮助您渲染PDF文件。它不是免费软件,但许可证允许免费分发您使用它构建的已编译应用程序。寻找用于渲染PDF文件的免费/开源组件比其他基本的PDF操作任务要复杂一些,因为渲染PDF文件可能非常困难。下面是一些C#示例源代码,向您展示如何在表单的图片框中呈现PDF。privatevoidForm1_Load(objectsender,EventArgse){QuickPDFAX0718.PDFLibrarypdf=newQuickPDFAX0718.PDFLibrary();qp.UnlockKey("......许可证密钥......");//打开PDF文件intHandle=qp.DAOpenFile("C:\sample.pdf",null);//获取PDF文件中的总页数intPageCount=qp.DAGetPageCount(Handle);int页码=1;//它将从PDF文件中获取第1页的引用intPageRefNo=qp.DAFindPage(Handle,PageNo);//您可以更改此参数以实现放大/缩小目的intZoom=76;双pageWidth=qp.DAGetPageWidth(Handle,PageRefNo)/Zoom;双pageHeight=qp.DAGetPageHeight(Handle,PageRefNo)/Zoom;//DPI用于呈现页面。增加DPI将提高图像质量intdpi=92;//计算最终输出图像的尺寸Bitmapb=newBitmap(Convert.ToInt32(pageWidth*dpi),Convert.ToInt32(pageHeight*dpi));//这将使用(Graphicsg=Graphics.FromImage(b)){IntPtrdc=在GDI上绘制渲染图像g.GetHdc();qp.DARenderPageToDC(Handle,PageRefNo,dpi,(int)dc);g.ReleaseHdc(dc);}//将渲染图像分配给PictureBox控件,它将在Windows上显示PDFForm.pictureBox1.Image=b;pictureBox1.BorderStyle=BorderStyle.Fixed3D;该库不包含帮助您进行缩放的内置函数,但由于您将PDF渲染为BMP图像,因此您可以非常轻松地处理缩放。预览PDF共享的全部内容。如果对大家有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: