Сглаживание прозрачности PDF

У меня есть PDF, созданный с помощью Inkscape, в котором используются прозрачные цвета. Это изображение должно использоваться в документе LaTeX.

Хотя сохранение прозрачности удобно для редактирования, это может быть проблемой для печати. Печать обычно включает в себя преобразование PDF в PS. Так как Postscript не поддерживает прозрачность, это требует либо

  • выравнивания, то есть создания векторной графики, которая работает без прозрачности

или

  • растровое рендеринг растрового изображения.

Когда PDF-документ, содержащий такую ​​фигуру, распечатывается (или конвертируется в PS) с использованием Evince (или Cairo или Ghostscript), вся страница отображается как растровое изображение, что делает уродливые шрифты (отличными от других страниц). (Adobe Acrobat хорошо справляется с такими PDF-файлами.)

К сожалению, преобразование фигур PDF в EPS (до их включения в LaTeX) мало помогает, поскольку и pdftops, и pdf2ps (опять же, Cairo или Ghostscript) растеризуют изображение, то есть рендеринг растрового изображения (сохраняется как EPS). (Это немного лучше, потому что это не влияет на всю страницу, но я все же предпочел бы векторную графику.)

Как можно сгладить прозрачность с помощью Inkscape или другого программного обеспечения в Linux?

11
задан 30 April 2012 в 18:49

5 ответов

pdftops -origpagesizes input.pdf output.ps

затем

ps2pdf -r600x600 output.ps input-new.pdf
0
ответ дан 30 April 2012 в 18:49

Один из способов - сделать белый прямоугольник в Inkscape того же размера, что и ваша страница, и отправить его в нижний слой. Это экспортирует ваше изображение с белым фоном вместо прозрачного.

0
ответ дан 30 April 2012 в 18:49

У меня была та же проблема, и это мое решение (для дальнейшего использования):

Я много чего пробовал, и до сих пор лучшим рабочим решением, которое я нашел в Интернете, было полное рендеринг PDF. как изображения с pdf2ps и ps2pdf13, но результат не был удовлетворительным для меня, потому что все векторных форм были потеряны. Я хотел визуализировать только критические части, но сохранить векторную графику.

Что меня устроило, так это изолировать все критические части в inkscape и поместить их в отдельный слой (на моих изображениях это были все тени). Я сделал видимым только этот слой (и фоновый слой) и экспортировал его в PNG, эффективно отображая все эффекты прозрачности, но только их. Я импортировал его обратно и использовал в новом слое. После переворачивания всех уровней видимости (уровень прозрачности: выкл., Все остальные: вкл.) Экспортированный PDF отлично работал с LaTeX и был пригоден для печати без отображения всей страницы в виде изображения.

TL; DR:

  1. Изолировать все проблемные прозрачные пленки на один слой (маски прозрачности, тени и т. Д.)
  2. Сделать только проблемный слой и усилитель ; фон видим
  3. Экспорт в PNG
  4. Импорт только что созданного PNG и использование в качестве фона
  5. Сделать все слои видимыми, кроме проблемного слоя
  6. Экспорт в PDF [ 118]
  7. Smile:)
0
ответ дан 30 April 2012 в 18:49

Одним из способов избежать плохой растеризации является ручное преобразование документа PDF в postscript, потому что когда вы вызываете CUPS через evince или любой другой графический интерфейс, он все равно будет конвертирован.

Вы можете попробовать pdftops -r 1200 document.pdf увеличить разрешение с минимального значения по умолчанию 300, а затем распечатать получившийся постскриптум. Однако при работе принтеров это не дало существенного улучшения. Обычный текст на страницах с прозрачными изображениями и без них по-прежнему выглядит по-разному - размыто или ясно.

В итоге я использовал Acrobat Professional (на компьютере с Windows), чтобы сгладить прозрачные изображения, используемые в моем латексном документе, что дало оптимальные результаты. Убедитесь, что Transparency Flattener Preset находится на [High Resolution] в расширенных настройках печати. Мой коллега упомянул, что, возможно, можно передать файл PDF непосредственно на современный сетевой принтер LaserJet, минуя постскриптумное преобразование. Я не пробовал это.

Было бы замечательно иметь решение Linux только для Linux.

0
ответ дан 30 April 2012 в 18:49

Я открыл файл PDF с помощью Ubuntu / Калека и распечатал одну страницу во время, проверив предварительный просмотр каждый раз.

0
ответ дан 23 November 2019 в 04:10

Другие вопросы по тегам:

Похожие вопросы: