Как вы программно - или из CLI - вращаете PDF?

Что мне нужно сделать, это повернуть PDF по часовой стрелке или против часовой стрелки либо программно, либо из интерфейса командной строки.

Я потратил значительное время на исследования и попытки вращать PDF-файлы с помощью GhostScript (поскольку GS уже установлен по другим причинам), но безрезультатно, ничто не приводит к какому-либо повороту.

Я рассмотрел использование pdftk, но для этого требуются библиотеки Java, и я бы не хотел, чтобы в системе была установлена ​​Java.

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

Поэтому я предпочел бы достичь этого с помощью имеющихся ресурсов системы. Мое предпочтение № 2 было бы сделать небольшую модификацию существующей системы, насколько это возможно для достижения этой цели.

Рассматриваемый сервер использует Linux (OpenSuse 11) с PHP 5.2, и у меня установлен Ghostscript 9.0.

Любые советы будут высоко ценится.

3 ответа

Решение

Вы можете использовать пакет LaTeX pdfpages

\documentclass{article}
\usepackage{pdfpages}

\begin{document}
    \includepdf[angle=45]{document.pdf}
\end{document}

Приведенный выше документ LaTeX, скомпилированный с помощью pdflatex, создает документ, повернутый на 45 градусов.

Существуют также инструменты (оболочки pdfpages), такие как pdfjam, которые можно использовать непосредственно из командной строки:

$ pdfjam --suffix rotated45 --angle 45 --fitpaper true document.pdf

Существует способ сделать это с помощью ImageMagick, если он вам доступен.

Пример:

$ convert originalfile.pdf -rotate <cw_angle_degrees> newfile.pdf

Однако обратите внимание, что, поскольку это ротация на основе растра, (как правило) будет происходить заметная потеря качества и увеличение размера файла.

Вы не сказали, как вы пытаетесь это сделать с помощью Ghostscript, но если вы хотите использовать устройство pdfwrite, вам нужно установить /AutoRotatePages=/None, иначе он будет вращать последнюю страницу, так что мажоритар любого реального текста будет горизонтальный.

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