2013-02-21 3 views
0

Я хочу, чтобы преобразовать PDF файл в формате PNG, я хочу выход быть 595 * 842 с высоким разрешением,PDF в PNG с высоким разрешением

Я использовал эту команду:

gswin64.exe -q -sDEVICE = png16m -dSAFER -dMaxBitmap = 1 миллиард -dTextAlphaBits = 4 -dGraphicsAlphaBits = 4 -dPDFFitPage = истина -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(); 
+0

Что означает «с высоким разрешением»? Чем он отличается от 595 * 842? Что это связано с C#? – Gabe

+0

мой код выглядит вот так: ProcessInfo = new System.Diagnostics.ProcessStartInfo ("gswin64.exe", "-q -sDEVICE = pngalpha -dBATCH -dNOPAUSE -sOutputFile = C: \\ Users \\ MNiyatkhair \\ Desktop \ \ cairoCopy \\ cover.png C: \\ Пользователи \\ MNiyatkhair \\ Desktop \\ cairoCopy \\ Holding.pdf "); // -r300 ProcessInfo.CreateNoWindow = true; ProcessInfo.UseShellExecute = true; ProcessInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden; Process = Process.Start (ProcessInfo); Process.WaitForExit(); –

+0

Я хочу, чтобы размер png был 595 * 842 –

ответ

1

Вы можете попробовать увеличить разрешение изображения (например, -r (72 * 3)) и добавить пропорциональный коэффициент уменьшения масштаба -dDownScaleFactor = 3. Он будет работать как родной PDF MatrixTransform.

Смежные вопросы