7

В настоящее время при конвертации PDF с данного URL, например:

wkhtmltopdf http://superuser.com/ superuser.pdf

где он состоит из нескольких страниц формата А4 (поэтому иногда изображения обрезаются в середине страницы).

Мой вопрос:

Как я могу преобразовать HTML-страницу в формат PDF, где высота бесконечна?

Я предпочитаю, чтобы у вас все еще был редактируемый / доступный для поиска документ, а не просто статичное изображение.


Что я уже пробовал:

3 ответа3

2

Руководство wkhtmltopdf 0.9.6 документирует этот параметр:

    --page-height      <unitreal>      Page height (default unit millimeter)

Поэтому определение чрезвычайно длинной страницы можно выполнить с помощью:

--page-height 10000cm
--page-height 100m

которые оба определяют страницу высотой 100 метров (я упоминаю оба в случае, если ваш wkhtmltopdf не поддерживает m).

Не используя wkhtmltopdf , я не знаю, есть ли верхний предел высоты страницы, но вы можете найти это опытным путем.

Кроме того, вы можете попробовать добавить --disable-smart-width (width не является ошибкой) и на данный момент попробовать менее амбициозный --page-height 100cm .

На этой странице руководства есть комментарий о disable-smart-width который доступен только с использованием исправленного QT.

Есть еще один комментарий:

На веб-сайте wkhtmltopdf вы можете загрузить статическую версию wkhtmltopdf по адресу http://code.google.com/p/wkhtmltopdf/downloads/list. Этот статический двоичный файл будет работать на большинстве систем и поставляется со встроенной пропатченной QT.

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

1

Вы должны сделать это, как показано ниже:

$ wkhtmltoimage http://superuser.com/ superuser.png
loaded the Generic plugin 
Loading page (1/2)
Rendering (2/2)                                                    
Warning: Received createRequest signal on a disposed ResourceObject's NetworkAccessManager. This might be an indication of an iframe taking too long to load.
Done                                                               
$ geo=$(file superuser.png | awk '{print $5"x"$7}' | sed -e 's/,//')
$ convert superuser.png -page $geo superuser.pdf

Преобразование выполняется из пакета ImageMagick. Недостаток использования вышеописанного метода заключается в том, что на выходе PDF будет статичное изображение.

1

Снова заглядывая в код, кажется, что вы все еще не можете выбрать бесконечный бросок.

Таким образом , вы можете просто использовать ImageMagick команду mogrify с опцией -append загруженного файла (или даже + добавить , если вы хотите добавить их в горизонтальном направлении ).

wkhtmltopdf http://superuser.com/ superuser.pdf
mogrify -append superuser.pdf

от man mogrify

-append
добавить верхнюю часть последовательности изображений в ботто (используйте + добавление слева направо)

Если вы хотите создать новый файл, вы можете использовать его из того же пакета convert .

convert -density 200 superuser.pdf -append superuser.vertical.pdf

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .