Як перетворити веб-сторінку в PDF із збереженням її вигляду (точно так само, як у веб-браузері) та тексту / посилань?


24

Я шукаю спосіб перетворити веб-сторінку в PDF, але зберегти вигляд веб-сторінки. Також зберігаючи текст веб-сторінки (вибирається), можна шукати [Створення скріншоту зображення для веб-сторінки не зробить текст ні вибір, ні пошук].

Я шукаю друк веб-сторінки у форматі PDF (як у веб-браузері) без будь-яких маніпуляцій зі стилем чи вирівнюванням чи втрати статичних компонентів будь-якої веб-сторінки.

Це допоможе зберегти офлайн-копії веб-сторінок, які легко читаються, коментуються та можна шукати.


Вам не потрібно читати жодне з наведених нижче (Питання - лише вищезазначений розділ) , щоб отримати моє запитання. Наступний розділ - це лише перелік того, що я отримав за допомогою досліджень чи відповідей інших людей вкладеними способами, щоб отримати відповідь на запитання.

Результати досліджень (пропозиції, які не вирішили мою проблему)

Результати намагаються знайти рішення (все ще не працює як вирішення цього питання)

Я випробував ці двигуни для веб-друку PDF, але всі вони маніпулюють зовнішнім виглядом сторінок, ще більш пошкоджуючими та роблячи важко читабельні: ( Знімки екрана сторінки наведені у квадратних дужках)

  • Chrome [ Оригінальні стилі друку ( вимкнено | не відключено )]
  • Firefox [ оригінальні стилі друку (вимкнено p1 , p2 | не вимкнено p1 , p2 )]
  • Читабельність
    • Це спрощує веб-сторінку (що є хорошою річчю для цілеспрямованого читання – проте, це не те, що я шукаю). Я шукаю, щоб усі властивості позицій / стилів веб-сторінки відображалися у веб-переглядачі у форматі PDF без будь-яких маніпуляцій.
  • Foxit Reader
  • NovaPDF
  • CutyCapt [ Оригінал , коефіцієнт масштабування: 0,4 : знімки екрана, виведений PDF]
    • Я додаю посилання після вирішення проблем із запуском програми в Windows "
  • wkhtmltopdf [ Оригінал , Коефіцієнт масштабування: 0,4 : Скріншоти , виведений PDF ]
    • Він не підтримує CSS3.

Усі знімки екрана веб-сторінки, що захоплюють плагіни (наприклад, Викрадення , Чудовий знімок екрана , Fireshot , Firefox Screenshot Tool Developer , Повноекранний захоплення екрана , Page2Images , веб-захоплення , ...) не відповідають на моє запитання, оскільки вони не зберігають текст і посилання .

Писання чудово зберігає веб-сторінки, як і для подальшої анотації та дослідження, але, на жаль, все ще в Інтернеті та без перетворення у формат PDF.

Є ще два питання щодо спільноти, схожих на мої, однак це питання дещо інше, але з тими важливими відмінностями:

Більше подібних питань, коли збереження тексту та посилань не є вимогою (сторінки в основному фіксуються як скріншоти зображень ):


Примітки

ОС: Windows 10


Якщо ви хочете друкувати з браузера, спочатку потрібно відключити будь-які таблиці стилів друку, щоб зберегти зовнішній вигляд веб-сторінки.
DavidPostill

Див. Як отримати WYSIWYP (друкувати побачене) у веб-браузері? . Дивіться мою відповідь на це питання.
DavidPostill

Потім ви можете друкувати за допомогою програми CutePDF .
DavidPostill

@DavidPostill Схоже, що відключення стилів друку не працює, або браузер не впливає на правильне відображення PDF. Приклад скріншотів додано до відредагованої версії питання.
Омар

У мене був один і той же питання сьогодні і ця сторінка допомогла мені (хоча вихід був мобільна версія сторінки): stackoverflow.com/questions/9540990 / ...
Micromachine

Відповіді:


7

Ми зіткнулися з тією ж проблемою в університетському проекті і змогли вирішити її за допомогою

wkhtmltopdf

Нам дуже сподобалися можливості цього інструменту в командному рядку. Ми також назвали його за допомогою пітонного коду для відображення поточного стану веб-сторінок. Він має можливість надсилати веб-сторінку у форматі PDF, як правило, не ідеально підходить для збереження подання веб-сайту завдяки форматуванню сторінки (наприклад, A4) або як png (зберігає перегляд сторінки, але не посилання)

Існує також проект читабельності (для Python: pypi.python.org/pypi/readability-lxml), який ми використовували, який досить добре знімає рекламу та виявляє вміст (наприклад, для газетних статей тощо). Якщо ви просто хочете додати або розширення для свого браузера, наступна реалізація читабельності може задовольнити ваші потреби:

https://www.readability.com/addons/


На жаль, wkhtmltopdf не зберегла позиції елементів сторінки. Приклад сторінки : Коефіцієнт масштабування: 0,4: Скріншоти , виведений PDF
Омар

Читання спрощує сторінку (що добре, але це не те, що я шукаю). Мені потрібно зберегти всі властивості позицій / стилів сторінки, як їх видно у веб-переглядачі, у форматі PDF без будь-яких маніпуляцій.
Омар

Ви використовували опцію wkhtmltopng цього інструменту, оскільки позиції png мають бути добре (принаймні, набагато краще, ніж у версії pdf, де сторінка підходить до формату A4)
sebisnow

3

Ще одна відповідь для можливих користувачів. У Firefox раніше був додаток "Друкувати сторінки в PDF". Ви можете шукати останню версію 0.1.9.3 (працюйте лише над доквантовими версіями).

В даний час цей додаток для Chrome і Firefox працює досить добре: PDFMage

  • Збережіть усі зображення на сторінці
  • Створюйте текст як текст, а не як зображення, ви можете шукати текст у створеному PDF.
  • Гіперпосилання збереження
  • Має можливість зберегти довгу веб-сторінку як односторінковий PDF (щоб зображення не розділялися між сторінками)

2

Я справді боровся з цим і спробував більшість інструментів, які згадуються до цих пір. Найкращі результати я отримав у використанні безрукого режиму Chrome. Команда на MacOS виглядатиме так:

/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --headless --print-to-pdf=test.pdf http://127.0.0.1:8080

Найкращий список знайдених нами параметрів командного рядка був тут .

Однак з цим були проблеми. Зокрема, мої сторінки дуже важкі для JavaScript, і я не міг змусити функцію друку чекати, коли вони завершать виконання. Тож у моєму виході не було зображень.

Рішення , яке я знайшов був пакет nodeJS: chrome-headless-render-pdf. Це мізерна документація тут . Це працює, і це легко написано.


2

У мене була така ж проблема, і я вирішив це через Chrome і з безкоштовним драйвером принтера під назвою PDF995. Це частина набору утиліт PDF; веб-сайт видавця http://www.pdf995.com/ .

Однак я думаю, що будь-якого веб-браузера та будь-якого PDF-конвертера буде достатньо. У всякому разі, ось що я зробив:

  1. вибрати все або виділити все.
  2. Клацніть виділений вибір правою кнопкою миші або натисніть Ctrl + P (обидва варіанти дають дещо різні результати, але після завершення ви отримуєте той самий результат).

  3. Якщо ви клацнули правою кнопкою миші у пункті 2., виділення (ярлик), натисніть кнопку «Друкувати», і лише все, що ви вибрали, буде розміщено в попередньому перегляді друку. Переконайтеся, що ви змінили призначення свого принтера на будь-який PDF-конвертер, який ви вирішили використовувати (PDF995 чи інший).

  4. Натисніть "друкувати", і це зберігається як PDF-документ.

  5. Якщо ви натиснули Ctrl + P у 2 (трохи довший спосіб), натисніть «Додаткові настройки» та прокрутіть униз до «Параметри».

  6. Клацніть на поле, у якому написано "Лише вибір", і все, що я описав, буде описано далі.

  7. Не забудьте змінити призначення вашого принтера на будь-який PDF-конвертер, який ви обрали (PDF995 чи інший).

  8. Натисніть "друкувати".


1

Якщо ви працюєте в Linux, спробуйте цей невеликий інструмент командного рядка CutyCapt , який залежить лише від Qt та QtWebkit та експортуйте в PDF.


0

Хоча це не зовсім ваш запит, як не в PDF, якщо мета полягає лише в тому, щоб зберегти офлайн-копію веб-сторінок для подальшого перегляду, збереження її як веб-сторінки зробить саме це.

Велике застереження полягає в тому, що він створить .html файл і папку з усім медіа-вмістом на сторінці, а не одним документом.

У Chrome і Firefox ви можете зберегти сторінку, натиснувши на неї правою кнопкою миші та вибравши Зберегти як ... В Internet Explorer ви можете зберегти її в розділі Файл -> Зберегти як (натискаючи клавішу Alt, щоб меню відображалося).


Збереження веб-сторінки у форматі .html зробить її непримітною. Отже, мені це потрібно у форматі PDF.
Омар

Це хороший момент! Щойно згадалося про розширення, яке дозволяє легко відключати таблиці стилів, пов’язані з друком. Швидкий пошук google підвів мене до дискусії, коли я вперше почув про це на Superuser: Як отримати WYSIWYP (надрукувати те, що ви бачите) у веб-браузері?
Пігема

Я спробував зробити "Зберегти як" за допомогою Chrome. Він створює .HTML файл та папку. У файлі .HTLM не було багато матеріалів зі сторінки.
SherlockSpreadsheets

0

Спробуйте цю послугу. Створює PDF з веб-сайту так, як ви його бачите в браузері. https://lomotoh.com/ (я пов'язаний з цим сайтом)


Це зберігає посилання, але не вибирається текст, що є вимогою у питанні.
fixer1234

Здається, що для деяких сайтів можна вибрати. Я думаю, це залежить від того, який користувацький шрифт використовує сайт.
Девід Герзе

0

Принаймні весь текст на деяких сторінках можна шукати, вибирати, вирізати та вставляти. Я спробував на сторінці, робототехнічно вставленій комп'ютером з тексту та пікс, і це все налаштувало на зображення.

Я використовував ці речі роками. Я отримую найкращі результати в Linux, будуючи сторінку у вибраному вами слові XX та експортуючи результат у PDF. Я можу отримати значну ціну, що хочу. З мого обмеженого використання арки ivin Сайт Девіда Герса, розміщений https://lomotoh.com/не пов'язаний з цим сайтом), працює так само добре, як і будь-який, який я коли-небудь використовував. Я буду їхати на ресурс, щоб висвітлити веб-сторінки в PDF-файлах, поки я не знайду кращого або мені це коштуватиме занадто дорого, щоб заплатити за власний тонкий гаманець.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.