【问题标题】:PDF to PNG with high resolution高分辨率的PDF到PNG
【发布时间】:2013-02-06 08:36:15
【问题描述】:

我想将 PDF 文件转换为 PNG,我希望输出为 595*842 的高分辨率,

我使用了这个命令:

gswin64.exe -q -sDEVICE=png16m -dSAFER -dMaxBitmap=1000000000 -dTextAlphaBits=4 -dGraphicsAlphaBits=4 -dPDFFitPage=true -sDEVICE=pngalpha -dBATCH -dNOPAUSE -sOutputFile=C:\cover.png C:\cover.pdf

我知道我可以使用-r300,但它会将尺寸更改为 2479*3509 另外,我试过-sPAPERSIZE=a4 + -r300,但没用。

如何才能获得 595x842 的高分辨率输出?

当前代码:

ProcessInfo = new System.Diagnostics.ProcessStartInfo( "gswin64.exe", "-q -sDEVICE=pngalpha -dBATCH -dNOPAUSE -sOutputFile=C:\\Users\\MNiyatkhair\\Desktop\\cairoCopy\\cover.png C:\\Users\\MNiyatkhair\\Desktop\\cairoCopy\\Holding.pdf" ); 
// -r300 
ProcessInfo.CreateNoWindow = true; 
ProcessInfo.UseShellExecute = true; 
ProcessInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden; 
Process = Process.Start(ProcessInfo); Process.WaitForExit(); 

【问题讨论】:

  • “高分辨率”是什么意思?和595*842有什么区别?这和 C# 有什么关系?
  • 我的代码现在是这样的: ProcessInfo = new System.Diagnostics.ProcessStartInfo("gswin64.exe", "-q -sDEVICE=pngalpha -dBATCH -dNOPAUSE -sOutputFile=C:\\Users\ \MNiyatkhair\\Desktop\\cairoCopy\\cover.png C:\\Users\\MNiyatkhair\\Desktop\\cairoCopy\\Holding.pdf"); // -r300 ProcessInfo.CreateNoWindow = true; ProcessInfo.UseShellExecute = true; ProcessInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden; Process = Process.Start(ProcessInfo); Process.WaitForExit();
  • 我希望 png 的尺寸为 595*842
  • 听起来您只是想知道如何将您的 PDF 渲染为 595x842。你试过-r72吗?
  • 如果我不指定分辨率,png文件将是595*842,但我想要更高的分辨率和相同的尺寸,-r72不会改变任何东西。

标签: c# ghostscript


【解决方案1】:

您可以尝试提高图像分辨率(例如 -r(72*3))并添加比例缩小因子 -dDownScaleFactor=3。它将像原生 PDF MatrixTransform 一样工作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-06-02
    • 1970-01-01
    • 2017-04-19
    • 2013-02-23
    • 2015-04-19
    • 2015-05-18
    • 2016-12-26
    相关资源
    最近更新 更多