Лучший способ изменить нумерацию страниц существующего PDF

У нас есть PDF-файл, созданный в виде альбомных страниц формата A5. При этом нам нужно сделать PDF-файл с портретным форматом страницы A4, поместив 2 страницы исходного PDF-файла друг над другом на каждой странице результирующего PDF-файла.

Знаете ли вы хорошую библиотеку, которая могла бы выполнять такие манипуляции с PDF? Это должно происходить на стороне сервера из веб-приложения ASP.NET с минимальным развертыванием на сервере.


person Community    schedule 07.01.2009    source источник


Ответы (4)


Для полноты добавлю, что PDFjam более прямой, чем использование Postscript и psnup. Он включает в себя «pdfnup», который, вероятно, может делать то, что вы хотите. Но есть пара недостатков для вашего приложения:

  • По сути, это просто оболочка для pdfTeX и пакета «pdfpages».

  • Скрипты в основном написаны для Unix-подобных систем, и говорят только о работе на Windows через cygwin

Комбинация установки TeX с cygwin не совсем соответствует вашей спецификации «как можно меньше развертывать на сервере».

Но если вы ищете решение с открытым исходным кодом, pdf(La)TeX действительно превосходит такого рода манипуляции с PDF. Лучше всего посмотреть, что делает pdfnup, и продублировать нужные вам функции в .NET.

person Tom    schedule 24.01.2009

Раньше я использовал набор инструментов PDF (GPL). Я думаю, что он может сделать то, о чем вы спрашиваете.

person PEZ    schedule 07.01.2009

В psutils есть утилита psnup, которая сделает это с файлом Postscript. . Вы можете преобразовать PDF в Postscript одним из нескольких способов (например, pdf2ps), запустите psnup поверх него и конвертируйте обратно в PDF с помощью ps2pdf или Distiller.

person ConcernedOfTunbridgeWells    schedule 07.01.2009

Объединение двух страниц A5 в одну страницу A4 должно быть точно таким же, как объединение двух страниц A4 в одну страницу A3 (за исключением масштаба), и эта проблема была решена здесь через две недели после того, как был задан этот вопрос.

person hlovdal    schedule 09.04.2009