使用免费的 c# 解决方案将 pdf 转换为 jpeg [关闭]

     2023-02-24     180

关键词:

【中文标题】使用免费的 c# 解决方案将 pdf 转换为 jpeg [关闭]【英文标题】:Convert pdf to jpeg using a free c# solution [closed] 【发布时间】:2011-10-10 03:25:53 【问题描述】:

我需要使用 C# 将 pdf 文件转换为 jpeg。并且解决方案(库)必须是免费的。

我搜索了很多信息,但似乎没有得到任何明确的信息。

我已经尝试过 itextsharp 和 pdfbox(但我认为 pdf2image 仅适用于 java),但没有成功。

我尝试单独从 pdf 中提取图像,但是当我尝试提取图像时出现参数无效的错误...似乎它们有一个奇怪的编码。

任何人都可以向我推荐任何将 pdf 保存为 jpeg 的库吗?示例也将不胜感激。

【问题讨论】:

GhostScript 不是免费的。 ghostscript.com/license.html 只有周围的脚本。 GhostScript 许可证本身的成本为 25000 美元。- + 每个客户端 0.25 美元archive.sap.com/discussions/thread/3958792 或者您需要开源代码 【参考方案1】:

库pdfiumviewer 可能在这里会有所帮助。它也可以作为 nuget 使用。

    创建一个新的 winforms 应用程序。向其中添加 nuget“PdfiumViewer”。 这还将在文件夹 x86 和 x64 中添加两个名为“pdfium.dll”的本机 dll 到您的项目中。将“复制到输出目录”设置为“始终复制”。

    尝试以下代码(更改路径以适合您的设置)。

        try
        
            using (var document = PdfiumViewer.PdfDocument.Load(@"input.pdf"))
            
                var image = document.Render(0, 300, 300, true);
                image.Save(@"output.png", ImageFormat.Png);
            
        
        catch (Exception ex)
        
            // handle exception here;
        
    

    编辑 2:更改代码以显示页面索引基于以下 S.C. 的评论中指出的 0

编辑 1:更新的解决方案 你试过 pdfsharp 吗?

This link might be helpful

【讨论】:

@Vijay Gill 嗨。感谢您的建议,但它不起作用。它提取图像但格式不可读...似乎图像不是 jpeg 格式...我认为导出所有单个图像比将 pdf 的整个页面导出为图像更困难(这两种方法是可以满足我的要求)。 在一些十六进制编辑器中打开图像,查看最初的几个字节/字符,通过查看签名来猜测格式。就像 BPM 有 BM,JPEG 在前几个字节中有 JFIF、PNG 和 PNG。这可能有助于您了解格式。 @Vijay Gill 我做到了,但我不明白我得到了什么。前 5 个十六进制数字是:“58 09 ec ed 07”。并且转导是不可压缩的。我认为这不是图像... 我终于用 ghostscript 库搞定了 :) @VijayGill 够公平的。我已经删除了反对票。我只是想防止很多人在根本不可能的情况下花费不必要的时间来尝试让 PDFSharp 工作。【参考方案2】:

这就是我使用 PDFLibNet 的方式:

public void ConvertPDFtoHojas(string filename, String dirOut)

    PDFLibNet.PDFWrapper _pdfDoc = new PDFLibNet.PDFWrapper();
    _pdfDoc.LoadPDF(filename);

    for (int i = 0; i < _pdfDoc.PageCount; i++)
    

        Image img = RenderPage(_pdfDoc, i);

        img.Save(Path.Combine(dirOut, string.Format("01.jpg", i,DateTime.Now.ToString("mmss"))));

    
    _pdfDoc.Dispose();
    return;

public  Image RenderPage(PDFLibNet.PDFWrapper doc, int page)

    doc.CurrentPage = page + 1;
    doc.CurrentX = 0;
    doc.CurrentY = 0;

    doc.RenderPage(IntPtr.Zero);

        // create an image to draw the page into
        var buffer = new Bitmap(doc.PageWidth, doc.PageHeight);
        doc.ClientBounds = new Rectangle(0, 0, doc.PageWidth, doc.PageHeight);
        using (var g = Graphics.FromImage(buffer))
        
            var hdc = g.GetHdc();
            try
            
                doc.DrawPageHDC(hdc);
            
            finally
            
                g.ReleaseHdc();
            
        
        return buffer;


【讨论】:

看起来它不是所要求的免费库 我能够使用包管理器中的 PDFLibNet 让这段代码工作我修改了这行代码... PDFLibNet64.PDFWrapper _pdfDoc = new PDFLibNet64.PDFWrapper();

使用 Javascript/Jquery 将 Word 文件转换为 PDF

...件发送到服务器.我已经找到了使用c#和nodejs实现这一点的解决方案,但它不符合我的要求,因为我没有在我的项目中使用nodejs并且使用c 查看详情

c#利用spire生成pdf只能3页

...。将PDF文档转换为图片时,仅支持转换前3页。如果要求使用完整的功能、没限制的,就要用商业版的。 查看详情

如何将 jp2 图像转换为 jpg 文件?

...ajpgfile?【发布时间】:2013-09-0909:12:08【问题描述】:如何使用gd库在php中将jp2图像转换为jpg图像。谢谢【问题讨论】:【参考方案1】:你不能。GD2不支持JP2(JPG2000)格式。您必须使用Imagick库。我有140万个jp2格式的图像文件,我使... 查看详情

c#富文本内容生成pdf,用开源免费的类库

要使用C#生成PDF文件,可以使用iTextSharp这个免费开源的类库。iTextSharp提供了丰富的API,可以用来生成PDF文档、表格、图表、图片等内容。以下是一个简单的示例代码,用于将富文本内容转换为PDF文件:```csharpusingSystem.IO;usingiTextS... 查看详情

使用 C# 将 Html 表(文本)转换为图像

】使用C#将Html表(文本)转换为图像【英文标题】:Htmltable(text)toimageusingC#【发布时间】:2010-10-2015:18:09【问题描述】:谁能指出我在C#中的一些示例代码,用于将html表格转换为图像?我知道如何将文本转换为图像,但我需要创... 查看详情

在不使用 Office 自动化的情况下将办公文档转换为 PDF 的开源解决方案 [关闭]

...在不使用Office自动化的情况下将办公文档转换为PDF的开源解决方案[关闭]【英文标题】:OpensourcesolutiontoconvertofficedocumentstoPDFwithoutusingOfficeautomation[closed]【发布时间】:2013-03-0710:34:59【问题描述】:我可以在ASP.Net应用程序中使用... 查看详情

UWP C# 将 png 转换为 pdf

】UWPC#将png转换为pdf【英文标题】:UWPC#Convertpngtoapdf【发布时间】:2021-12-1412:48:24【问题描述】:不确定是否有一个简单的事情。有没有办法在UWP程序中将png转换为pdf文件?我有一个程序可以读取很多图像,我想编辑它们,然后... 查看详情

使用 GhostScript 将 PDF 转换为透明 PNG

...搜索其他尝试相同事物的人的问题并且没有任何已发布的解决方案,据我所知,这可以归结为指定-sDEVICE=pngalph 查看详情

使用 ITextSharp 将 HTML 文件转换为 PDF 文件

...们与此非常接近,但并不完全符合我的需要。我相信我的解决方案需要使用iTextSh 查看详情

使用 PHP 将 HTML 转换为 PDF(不是 PDF 到 HTML)[关闭]

...约30到50页)转换为PDF文档。我的搜索发现了以下可能的解决方案。其中包括一些PHP库和一些命令行应用程序。每个都有自己的优点 查看详情

使用 PHP 将 HTML 转换为 PDF(不是 PDF 到 HTML)[关闭]

...约30到50页)转换为PDF文档。我的搜索发现了以下可能的解决方案。其中包括一些PHP库和一些命令行应用程序。每个都有自己的优点 查看详情

使用类 C# 将数字转换为单词

】使用类C#将数字转换为单词【英文标题】:ConvertingNumberstoWordsUsingClassesC#【发布时间】:2019-03-2707:38:30【问题描述】:我知道这是一个以前被问过的问题,我已经解决了很多问题,但我真的需要一些帮助。我正在尝试为家庭作... 查看详情

将 PDF 转换为 JPG 的替代解决方案

】将PDF转换为JPG的替代解决方案【英文标题】:alternativesolutiontoconvertPDFstoJPG【发布时间】:2011-12-1416:19:53【问题描述】:我已经使用ImageMagick和Ghostscript完成了我的课程。我不理会它,继续其他领域的开发,一整天我一直在拖网... 查看详情

如何正确使用 WkHTMLToSharp 将 HTML 文件转换为 PDF?

...很棒,但现在我很乐意转换单个文件:)我已经尝试了几种解决方案,最成功的是EO.PDF,但它在每一页上都放了 查看详情

使用 iText 将 HTML 转换为 PDF

】使用iText将HTML转换为PDF【英文标题】:UsingiTexttoconvertHTMLtoPDF【发布时间】:2010-09-1903:34:08【问题描述】:有人知道是否可以使用iText将HTML页面(url)转换为PDF吗?如果答案是“不”,那也没关系,因为我不会再浪费时间尝试解决... 查看详情

将扫描的pdf转换为文本python

...在通常的地方找不到ghostscript”经过搜索,我找到了这个解决方案LinkingGhostscripttopypdfocrinWindowsPlatform, 查看详情

如何在 C# 中使用 imageMagick

】如何在C#中使用imageMagick【英文标题】:howtouseimageMagickwithC#【发布时间】:2011-06-2212:54:24【问题描述】:您能否解释一下我如何将ImageMagick与C#一起使用。我正在尝试将PDF转换为页面为图像。我想运行imageMagick命令“convert-density3... 查看详情

将 PDF 文件转换为图像

...在ghost4j中不用dll转换图片?问题2:我在PDFBoxAPI中找到了解决方案。org.apache.pdfbox.p 查看详情