加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 是否可以使用itextSharp将PDF页面转换为图像?

发布时间:2020-12-15 04:31:42 所属栏目:百科 来源:网络整理
导读:您好我一直在使用itextSharp为dot.net中的所有pdf相关项目. 我遇到了一个需要将PDF页面转换为图像的要求. 我找不到任何这样的样品.我发现另一个工具ghostscript能够做到这一点的问题是我在共享主机和放大器上我不认为ghostscript将在我的本地机器上运行在服
您好我一直在使用itextSharp为dot.net中的所有pdf相关项目.
我遇到了一个需要将PDF页面转换为图像的要求.
我找不到任何这样的样品.我发现另一个工具ghostscript能够做到这一点的问题是我在共享主机和放大器上我不认为ghostscript将在我的本地机器上运行在服务器上我必须手动将ghost脚本dll复制到system32文件夹,这在共享主机中是不可能的.

解决方法

好吧,我搜索了一遍,发现Ghost脚本有一个nuget包,所以通过打包管理器控制台并将ghost脚本添加到新项目来解决我的问题(我创建了一个新项目,因为旧的项目有各种各样的通过“PM> Install-Package Ghostscript.NET”引用win32 ghostscript dlls).
所以我的问题的答案是:
1.> itextSharp无法直接将PDF页面转换为图像.
2.> “Ghostscript.NET 1.2.0”非常容易实现.以下是一个代码示例.
public void LoadImage(string InputPDFFile,int PageNumber)
    {

        string outImageName = Path.GetFileNameWithoutExtension(InputPDFFile);
        outImageName = outImageName+"_"+PageNumber.ToString() + "_.png";


        GhostscriptPngDevice dev = new GhostscriptPngDevice(GhostscriptPngDeviceType.Png256);
        dev.GraphicsAlphaBits = GhostscriptImageDeviceAlphaBits.V_4;
        dev.TextAlphaBits = GhostscriptImageDeviceAlphaBits.V_4;
        dev.ResolutionXY = new GhostscriptImageDeviceResolution(290,290);
        dev.InputFiles.Add(InputPDFFile);
        dev.Pdf.FirstPage = PageNumber;
        dev.Pdf.LastPage = PageNumber;
        dev.CustomSwitches.Add("-dDOINTERPOLATE");
        dev.OutputPath = Server.MapPath(@"~/tempImages/" + outImageName);
        dev.Process();

    }

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读