Сглаживание прозрачности 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?
4 ответа
Одним из способов избежать плохой растеризации является ручное преобразование документа PDF в postscript, потому что когда вы вызываете CUPS через evince или любой другой графический интерфейс, он все равно будет конвертирован.
Ты можешь попробовать pdftops -r 1200 document.pdf
увеличить разрешение с низкого значения по умолчанию 300, а затем распечатать получившийся постскриптум. Однако при работе принтеров это не дало существенного улучшения. Обычный текст на страницах с прозрачными изображениями и без них по-прежнему выглядит по-разному - размыто или ясно.
Поэтому я использовал Acrobat Professional (на компьютере с Windows), чтобы сгладить прозрачные изображения, используемые в моем латексном документе, что дало оптимальные результаты. Проверь это Transparency Flattener Preset
я сидела [High Resolution]
в расширенной настройке печати. Мой коллега упомянул, что, возможно, можно передать файл PDF непосредственно на современный сетевой принтер LaserJet, минуя постскриптумное преобразование. Я не пробовал это.
Было бы здорово иметь Linux-решение для этой проблемы.
Я открыл файл PDF с помощью Ubuntu/ Gimp и печатал одну страницу за раз, каждый раз проверяя предварительный просмотр.
У меня была такая же проблема, и это мое решение (для дальнейшего использования):
Я перепробовал много вещей, и до сих пор лучшим рабочим решением, которое я нашел в Интернете, было полное рендеринг PDF как изображения с pdf2ps
а также ps2pdf13
, но результат не был удовлетворительным для меня, потому что все векторные фигуры были потеряны. Я хотел визуализировать только критические части, но сохранить векторную графику.
Что помогло мне, так это изолировать все важные части в inkscape и поместить их в отдельный слой (на моих изображениях это были все тени). Я сделал видимым только этот слой (и фоновый слой) и экспортировал его в PNG, эффективно отображая все эффекты прозрачности, но только их. Я импортировал его обратно и использовал в новом слое. После переворачивания всех уровней видимости (слой прозрачности: выкл., Все остальные: вкл.) Экспортированный PDF отлично работал с LaTeX и был пригоден для печати без вывода всей страницы в виде изображения.
TL; DR:
- Изолируйте все прозрачные пленки на один слой (маски прозрачности, тени и т. Д.)
- Сделать только проблемный слой и фон видимым
- Экспорт в PNG
- Импортируйте только что созданный PNG и используйте в качестве фона
- Сделайте все слои видимыми, кроме проблемного
- Экспорт в PDF
- Улыбка:)
Один из способов - сделать белый прямоугольник в Inkscape того же размера, что и ваша страница, и отправить его в нижний слой. Это экспортирует ваше изображение с белым фоном вместо прозрачного.
pdftops -origpagesizes input.pdf output.ps
затем
ps2pdf -r600x600 output.ps input-new.pdf