Преобразование веб-сайта в PDF (рекурсивно)

Есть ли способ конвертировать веб-страницу и ее вспомогательные страницы в один файл PDF?

2
задан 31 August 2017 в 14:39

3 ответа

Сохранить список веб-страниц в виде файла PDF

Сначала установите инструмент преобразования wkhtmltopdf (для этого инструмента требуется среда рабочего стола, источник):
sudo apt install wkhtmltopdf 
Затем создайте файл, содержащий список URL-адресов несколько целевых веб-страниц (каждая на новой строке). Давайте назовем этот файл url-list.txt и поместим его в ~/Downloads/PDF/. Например, его содержимое может быть:
https://askubuntu.com/users/721082/tarek
https://askubuntu.com/users/566421/pa4080
И затем запустить следующую команду, которая будет генерировать PDF-файл для каждого URL-адреса сайта, который находится в каталоге, где выполняется команда:
while read i; do wkhtmltopdf "$i" "$(echo "$i" | sed -e 's/https\?:\/\///' -e 's/\//-/g' ).pdf"; done < ~/Downloads/PDF/url-list.txt
Результат этой команды - выполнен в directory ~/Downloads/PDF/ - is:
~/Downloads/PDF/$ ls -1 *.pdf
askubuntu.com-users-566421-pa4080.pdf
askubuntu.com-users-721082-tarek.pdf
Объединить выходные файлы с помощью следующей команды, выполняемой в приведенном выше каталоге (источник):
gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -dPDFSETTINGS=/prepress -sOutputFile=merged-output.pdf $(ls -1 *.pdf)
Результат:
~/Downloads/PDF/$ ls -1 *.pdf
askubuntu.com-users-566421-pa4080.pdf
askubuntu.com-users-721082-tarek.pdf
merged-output.pdf

Сохранить весь сайт как PDF file

Сначала установите инструмент преобразования wkhtmltopdf (для этого инструмента требуется среда рабочего стола, источник):
sudo apt install wkhtmltopdf 

Сначала установите инструмент преобразования wkhtmltopdf (этот инструмент требует (! d21)

Сначала установите wkhtmltopdf инструмент преобразования (этот инструмент требует среды рабочего стола, источник):

Затем создайте файл, содержащий список URL-адресов нескольких целевых веб-страниц (каждый на новой строке). Давайте назовем этот файл url-list.txt и поместим его в ~/Downloads/PDF/. Например, его содержимое может быть:
https://askubuntu.com/users/721082/tarek
https://askubuntu.com/users/566421/pa4080

Затем создайте файл, содержащий список URL-адресов нескольких целевых веб-страниц (каждый на новой строке). Давайте назовем этот файл url-list.txt и поместим его в ~/Downloads/PDF/. Например, его содержимое может быть:

#!/bin/sh
TARGET_SITE="$1"
wget --spider --force-html -r -l2 "$TARGET_SITE" 2>&1 | grep '^--' | awk '{ print $3 }' | grep -v '\.\(css\|js\|png\|gif\|jpg\|txt\)$' > url-list.txt
while read i; do wkhtmltopdf "$i" "$(echo "$i" | sed -e 's/https\?:\/\///' -e 's/\//-/g' ).pdf"; done < url-list.txt
gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -dPDFSETTINGS=/prepress -sOutputFile=merged-output.pdf $(ls -1 *.pdf)
Скопировать вышеуказанный контент и в nano использовать: Shift + Insert для вставки; Ctrl + O и Enter для сохранения; Ctrl + X для выхода. Затем запустите следующую команду, которая будет генерировать PDF-файл для каждого URL-адреса сайта, который находится в каталоге, в котором выполняется команда:
while read i; do wkhtmltopdf "$i" "$(echo "$i" | sed -e 's/https\?:\/\///' -e 's/\//-/g' ).pdf"; done < ~/Downloads/PDF/url-list.txt
Результат этой команды, выполненный в каталоге ~/Downloads/PDF/, - это:

Затем нам нужно выполнить шаги из приведенного выше раздела.

Преобразование нескольких файлов PHP в один PDF (рекурсивно)

Затем создайте файл, содержащий список URL-адресов нескольких целевых веб-страниц (каждый на новой строке). Давайте назовем этот файл url-list.txt и поместим его в ~/Downloads/PDF/. Например, его содержимое может быть:

#!/bin/sh
TARGET_SITE="$1"
wget --spider --force-html -r -l2 "$TARGET_SITE" 2>&1 | grep '^--' | awk '{ print $3 }' | grep -v '\.\(css\|js\|png\|gif\|jpg\|txt\)$' > url-list.txt
while read i; do wkhtmltopdf "$i" "$(echo "$i" | sed -e 's/https\?:\/\///' -e 's/\//-/g' ).pdf"; done < url-list.txt
gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -dPDFSETTINGS=/prepress -sOutputFile=merged-output.pdf $(ls -1 *.pdf)
Скопировать вышеуказанный контент и в nano использовать: Shift + Insert для вставки; Ctrl + O и Enter для сохранения; Ctrl + X для выхода.

Скопируйте вышеуказанный контент и в nano используйте: Shift + Insert для вставки; Ctrl + O и Enter для сохранения; Ctrl + X для выхода.

find /path/to/folder/ -type f -name '*.php' -exec printf "\n\n{}\n\n" \; -exec cat "{}" \; | enscript -o - | ps2pdf - output.pdf

И затем запустите следующую команду, которая будет генерировать PDF-файл для каждого URL-адреса сайта, который находится в каталоге, где выполняется команда:

find /var/www/wordpress/ -type f -name '*.php' -exec printf "\n\n{}\n\n" \; -exec cat "{}" \; | enscript -o - | ps2pdf - output.pdf
2
ответ дан 22 May 2018 в 19:51
  • 1
    Отображать страницу так, как если бы она была html? – Tarek 3 August 2017 в 21:57
  • 2
    @ Тарек, пожалуйста, будьте более конкретными. Вы имеете в виду не код PHP, а результат, который вы видите в веб-браузере или HTML-вывод из кода PHP? – pa4080 3 August 2017 в 21:58
  • 3
    Например, если я загружаю php-страницу «www .... com / index.php», как мне создать pdf-файл из этого представления, как в браузере, а не в PHP-коде? – Tarek 3 August 2017 в 22:03
  • 4
    @Tarek, вы имеете в виду, что вы сохранили веб-страницу, и хотите преобразовать ее в PDF? Если да, почему бы просто не сохранить его как PDF? – pa4080 3 August 2017 в 22:10
  • 5
    Потому что мне нужно рекурсивное решение для использования на целых сайтах ... – Tarek 3 August 2017 в 22:33

Сохранить список веб-страниц в виде файла PDF

Сначала установите инструмент преобразования wkhtmltopdf (для этого инструмента требуется среда рабочего стола, источник): sudo apt install wkhtmltopdf Затем создайте файл, содержащий список URL-адресов несколько целевых веб-страниц (каждая на новой строке). Давайте назовем этот файл url-list.txt и поместим его в ~/Downloads/PDF/. Например, его содержимое может быть: https://askubuntu.com/users/721082/tarek https://askubuntu.com/users/566421/pa4080 И затем запустить следующую команду, которая будет генерировать PDF-файл для каждого URL-адреса сайта, который находится в каталоге, где выполняется команда: while read i; do wkhtmltopdf "$i" "$(echo "$i" | sed -e 's/https\?:\/\///' -e 's/\//-/g' ).pdf"; done < ~/Downloads/PDF/url-list.txt Результат этой команды - выполнен в directory ~/Downloads/PDF/ - is: ~/Downloads/PDF/$ ls -1 *.pdf askubuntu.com-users-566421-pa4080.pdf askubuntu.com-users-721082-tarek.pdf Объединить выходные файлы с помощью следующей команды, выполняемой в приведенном выше каталоге (источник): gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -dPDFSETTINGS=/prepress -sOutputFile=merged-output.pdf $(ls -1 *.pdf) Результат: ~/Downloads/PDF/$ ls -1 *.pdf askubuntu.com-users-566421-pa4080.pdf askubuntu.com-users-721082-tarek.pdf merged-output.pdf

Сохранить весь сайт как PDF file

Сначала установите инструмент преобразования wkhtmltopdf (для этого инструмента требуется среда рабочего стола, источник): sudo apt install wkhtmltopdf

Сначала установите инструмент преобразования wkhtmltopdf (этот инструмент требует (! d21)

Сначала установите wkhtmltopdf инструмент преобразования (этот инструмент требует среды рабочего стола, источник):

Затем создайте файл, содержащий список URL-адресов нескольких целевых веб-страниц (каждый на новой строке). Давайте назовем этот файл url-list.txt и поместим его в ~/Downloads/PDF/. Например, его содержимое может быть: https://askubuntu.com/users/721082/tarek https://askubuntu.com/users/566421/pa4080

Затем создайте файл, содержащий список URL-адресов нескольких целевых веб-страниц (каждый на новой строке). Давайте назовем этот файл url-list.txt и поместим его в ~/Downloads/PDF/. Например, его содержимое может быть:

#!/bin/sh TARGET_SITE="$1" wget --spider --force-html -r -l2 "$TARGET_SITE" 2>&1 | grep '^--' | awk '{ print $3 }' | grep -v '\.\(css\|js\|png\|gif\|jpg\|txt\)$' > url-list.txt while read i; do wkhtmltopdf "$i" "$(echo "$i" | sed -e 's/https\?:\/\///' -e 's/\//-/g' ).pdf"; done < url-list.txt gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -dPDFSETTINGS=/prepress -sOutputFile=merged-output.pdf $(ls -1 *.pdf) Скопировать вышеуказанный контент и в nano использовать: Shift + Insert для вставки; Ctrl + O и Enter для сохранения; Ctrl + X для выхода. Затем запустите следующую команду, которая будет генерировать PDF-файл для каждого URL-адреса сайта, который находится в каталоге, в котором выполняется команда: while read i; do wkhtmltopdf "$i" "$(echo "$i" | sed -e 's/https\?:\/\///' -e 's/\//-/g' ).pdf"; done < ~/Downloads/PDF/url-list.txt Результат этой команды, выполненный в каталоге ~/Downloads/PDF/, - это:

Затем нам нужно выполнить шаги из приведенного выше раздела.

Преобразование нескольких файлов PHP в один PDF (рекурсивно)

Затем создайте файл, содержащий список URL-адресов нескольких целевых веб-страниц (каждый на новой строке). Давайте назовем этот файл url-list.txt и поместим его в ~/Downloads/PDF/. Например, его содержимое может быть:

#!/bin/sh TARGET_SITE="$1" wget --spider --force-html -r -l2 "$TARGET_SITE" 2>&1 | grep '^--' | awk '{ print $3 }' | grep -v '\.\(css\|js\|png\|gif\|jpg\|txt\)$' > url-list.txt while read i; do wkhtmltopdf "$i" "$(echo "$i" | sed -e 's/https\?:\/\///' -e 's/\//-/g' ).pdf"; done < url-list.txt gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -dPDFSETTINGS=/prepress -sOutputFile=merged-output.pdf $(ls -1 *.pdf) Скопировать вышеуказанный контент и в nano использовать: Shift + Insert для вставки; Ctrl + O и Enter для сохранения; Ctrl + X для выхода.

Скопируйте вышеуказанный контент и в nano используйте: Shift + Insert для вставки; Ctrl + O и Enter для сохранения; Ctrl + X для выхода.

find /path/to/folder/ -type f -name '*.php' -exec printf "\n\n{}\n\n" \; -exec cat "{}" \; | enscript -o - | ps2pdf - output.pdf

И затем запустите следующую команду, которая будет генерировать PDF-файл для каждого URL-адреса сайта, который находится в каталоге, где выполняется команда:

find /var/www/wordpress/ -type f -name '*.php' -exec printf "\n\n{}\n\n" \; -exec cat "{}" \; | enscript -o - | ps2pdf - output.pdf
3
ответ дан 18 July 2018 в 09:07

Сохранить список веб-страниц в виде файла PDF

Сначала установите инструмент преобразования wkhtmltopdf (для этого инструмента требуется среда рабочего стола, источник): sudo apt install wkhtmltopdf Затем создайте файл, содержащий список URL-адресов несколько целевых веб-страниц (каждая на новой строке). Давайте назовем этот файл url-list.txt и поместим его в ~/Downloads/PDF/. Например, его содержимое может быть: https://askubuntu.com/users/721082/tarek https://askubuntu.com/users/566421/pa4080 И затем запустить следующую команду, которая будет генерировать PDF-файл для каждого URL-адреса сайта, который находится в каталоге, где выполняется команда: while read i; do wkhtmltopdf "$i" "$(echo "$i" | sed -e 's/https\?:\/\///' -e 's/\//-/g' ).pdf"; done < ~/Downloads/PDF/url-list.txt Результат этой команды - выполнен в directory ~/Downloads/PDF/ - is: ~/Downloads/PDF/$ ls -1 *.pdf askubuntu.com-users-566421-pa4080.pdf askubuntu.com-users-721082-tarek.pdf Объединить выходные файлы с помощью следующей команды, выполняемой в приведенном выше каталоге (источник): gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -dPDFSETTINGS=/prepress -sOutputFile=merged-output.pdf $(ls -1 *.pdf) Результат: ~/Downloads/PDF/$ ls -1 *.pdf askubuntu.com-users-566421-pa4080.pdf askubuntu.com-users-721082-tarek.pdf merged-output.pdf

Сохранить весь сайт как PDF file

Сначала установите инструмент преобразования wkhtmltopdf (для этого инструмента требуется среда рабочего стола, источник): sudo apt install wkhtmltopdf

Сначала установите инструмент преобразования wkhtmltopdf (этот инструмент требует (! d21)

Сначала установите wkhtmltopdf инструмент преобразования (этот инструмент требует среды рабочего стола, источник):

Затем создайте файл, содержащий список URL-адресов нескольких целевых веб-страниц (каждый на новой строке). Давайте назовем этот файл url-list.txt и поместим его в ~/Downloads/PDF/. Например, его содержимое может быть: https://askubuntu.com/users/721082/tarek https://askubuntu.com/users/566421/pa4080

Затем создайте файл, содержащий список URL-адресов нескольких целевых веб-страниц (каждый на новой строке). Давайте назовем этот файл url-list.txt и поместим его в ~/Downloads/PDF/. Например, его содержимое может быть:

#!/bin/sh TARGET_SITE="$1" wget --spider --force-html -r -l2 "$TARGET_SITE" 2>&1 | grep '^--' | awk '{ print $3 }' | grep -v '\.\(css\|js\|png\|gif\|jpg\|txt\)$' > url-list.txt while read i; do wkhtmltopdf "$i" "$(echo "$i" | sed -e 's/https\?:\/\///' -e 's/\//-/g' ).pdf"; done < url-list.txt gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -dPDFSETTINGS=/prepress -sOutputFile=merged-output.pdf $(ls -1 *.pdf) Скопировать вышеуказанный контент и в nano использовать: Shift + Insert для вставки; Ctrl + O и Enter для сохранения; Ctrl + X для выхода. Затем запустите следующую команду, которая будет генерировать PDF-файл для каждого URL-адреса сайта, который находится в каталоге, в котором выполняется команда: while read i; do wkhtmltopdf "$i" "$(echo "$i" | sed -e 's/https\?:\/\///' -e 's/\//-/g' ).pdf"; done < ~/Downloads/PDF/url-list.txt Результат этой команды, выполненный в каталоге ~/Downloads/PDF/, - это:

Затем нам нужно выполнить шаги из приведенного выше раздела.

Преобразование нескольких файлов PHP в один PDF (рекурсивно)

Затем создайте файл, содержащий список URL-адресов нескольких целевых веб-страниц (каждый на новой строке). Давайте назовем этот файл url-list.txt и поместим его в ~/Downloads/PDF/. Например, его содержимое может быть:

#!/bin/sh TARGET_SITE="$1" wget --spider --force-html -r -l2 "$TARGET_SITE" 2>&1 | grep '^--' | awk '{ print $3 }' | grep -v '\.\(css\|js\|png\|gif\|jpg\|txt\)$' > url-list.txt while read i; do wkhtmltopdf "$i" "$(echo "$i" | sed -e 's/https\?:\/\///' -e 's/\//-/g' ).pdf"; done < url-list.txt gs -dBATCH -dNOPAUSE -q -sDEVICE=pdfwrite -dPDFSETTINGS=/prepress -sOutputFile=merged-output.pdf $(ls -1 *.pdf) Скопировать вышеуказанный контент и в nano использовать: Shift + Insert для вставки; Ctrl + O и Enter для сохранения; Ctrl + X для выхода.

Скопируйте вышеуказанный контент и в nano используйте: Shift + Insert для вставки; Ctrl + O и Enter для сохранения; Ctrl + X для выхода.

find /path/to/folder/ -type f -name '*.php' -exec printf "\n\n{}\n\n" \; -exec cat "{}" \; | enscript -o - | ps2pdf - output.pdf

И затем запустите следующую команду, которая будет генерировать PDF-файл для каждого URL-адреса сайта, который находится в каталоге, где выполняется команда:

find /var/www/wordpress/ -type f -name '*.php' -exec printf "\n\n{}\n\n" \; -exec cat "{}" \; | enscript -o - | ps2pdf - output.pdf
3
ответ дан 24 July 2018 в 19:15

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

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