Преобразование GhostScript PS в PDF - обрезаны некоторые части - PullRequest
1 голос
/ 26 мая 2020

Я пытался преобразовать python холст Tkinter в pdf. Для этого я использовал Ghostscript. Вот часть кода,

canvas.postscript(file="tmp.ps",colormode='color')
somecommand = "gswin64c -o output.pdf -sDEVICE=pdfwrite -g57750x62070 - dPDFFitPage tmp.ps"
call(somecommand, shell=True)

Выходной PDF-файл с большим размером, но PDF-файл показывает холст GUI обрезанный, и он находится в нижнем левом углу PDF-файла.

Я хочу показать весь холст в формате pdf. Пожалуйста, помогите мне это сделать ..

1 Ответ

0 голосов
/ 26 мая 2020

Вы указали -dPDFFitPage, но ваш входной файл выглядит как PostScript (судя по расширению «.ps» и заголовку вашего вопроса). PDFFitPage работает с вводом PDF. Даже использование -dPSFitPage из более простого -dFitPage будет работать только в том случае, если входная программа PostScript запрашивает размер носителя. Если это не так, интерпретатор не может определить, что это за ограничивающая рамка, и поэтому не может масштабировать ее, чтобы она соответствовала носителю.

Вы также указали размер носителя в пикселях (-g57750x62070), что совершенно неприемлемо, если ввод и вывод являются векторными форматами. Для чего вы указываете фиксированный размер носителя (приблизительно) 80 на 86 дюймов, используя разрешение по умолчанию 720 dpi.

Если все, что вы хотите сделать, это превратить файл PostScript в файл PDF тогда достаточно более простого:

gs -sDEVICE=pdfwrite -o out.pdf input.ps

. Если это не дает желаемого результата, тогда вам придется поделиться входным файлом (и объяснить, что вы действительно хотите; -)

...