Come convertire una pagina Web in PDF mantenendo l'aspetto (esattamente come sul browser Web) e testo / collegamenti?


24

Sto cercando un modo per convertire una pagina Web in PDF, ma conservando l'aspetto della pagina web. Conservando anche il testo della pagina Web (essendo selezionabile), ricercabile [La generazione di screenshot di immagini per la pagina Web non renderebbe il testo né selezionabile né ricercabile].

Sto cercando di stampare la pagina Web in PDF così com'è (come nel browser Web) senza alcuna manipolazione di stile o allineamento o perdita dei componenti statici di qualsiasi pagina Web.

Ciò contribuirebbe a preservare copie offline di pagine Web facilmente leggibili, annotabili e ricercabili.


Non è necessario leggere nulla di seguito (La domanda è solo la sezione precedente) per ottenere la mia domanda. La sezione seguente è solo un elenco di ciò che ho ottenuto attraverso la ricerca o le risposte degli altri in modo annidato per raggiungere una risposta alla domanda.

Risultati della ricerca (suggerimenti che non hanno risolto il mio problema)

Risultati finora ottenuti nel tentativo di trovare una soluzione (tutti ancora non funzionano come soluzione per questa domanda)

Ho provato questi motori di stampa Web PDF ma tutti manipolano l'aspetto delle pagine, danneggiando persino di più e rendendo difficilmente leggibili: (Gli screenshot delle pagine di esempio sono inclusi tra parentesi quadre)

  • Chrome [ originale , stili di stampa ( disabilitato | non disabilitato )]
  • Firefox [ originale , stili di stampa (disabilitato p1 , p2 | non disabilitato p1 , p2 )]
  • leggibilità
    • Semplifica la pagina Web (che è una buona cosa per una lettura mirata - Tuttavia, questo non è quello che sto cercando). Sto cercando di mantenere tutte le proprietà delle posizioni / stili della pagina Web viste sul browser Web in formato PDF senza alcuna manipolazione.
  • Lettore Foxit
  • NovaPDF
  • CutyCapt [ Originale , fattore di zoom: 0.4 : Screenshot, PDF in uscita]
    • Aggiungerò collegamenti dopo aver risolto i problemi di esecuzione del programma su Windows "
  • wkhtmltopdf [ Originale , fattore di zoom: 0.4 : schermate , PDF in uscita ]
    • Non supporta CSS3.

Tutti i plug-in per l'acquisizione di immagini di schermate di pagine Web (ad esempio Abduction , Awesome Screenshot , Fireshot , Firefox Developer Tool Tool , Full Screen Screen Capture , Page2Images , web-capture , ...) non rispondono alla mia domanda, perché non conservano il testo e collegamenti .

Scrible è ottimo nel preservare le pagine Web così come per ulteriori annotazioni e ricerche, ma purtroppo è ancora online e senza conversione in formato PDF.

Ci sono altre due domande sulla comunità simili in qualche modo alle mie, tuttavia, questa è leggermente diversa ma con quelle importanti distinzioni:

  • Come ottenere WYSIWYP (stampare ciò che vedi) in un browser Web?
    • Questa domanda chiede come catturare una pagina Web (come si vede sullo schermo), anche se si tratta di un'immagine e il testo non verrà conservato. Considerando che sto cercando anche l'acquisizione di testo e collegamenti ( soprattutto preservare testo e collegamenti ).

Altre domande simili in cui la conservazione di testo e collegamenti non è un requisito (le pagine vengono acquisite principalmente come screenshot di immagini ):


Appunti

Sistema operativo: Windows 10


Se si desidera stampare da un browser, è innanzitutto necessario disabilitare i fogli di stile di stampa per mantenere l'aspetto della schermata della pagina Web.
DavidPostill


Quindi è possibile stampare utilizzando il writer CutePDF .
DavidPostill

@DavidPostill Sembra che la disabilitazione degli stili di stampa o non funzioni o che il browser non visualizzi correttamente i PDF. Un esempio di schermate sono state aggiunte alla versione modificata della domanda.
Omar,

Ho avuto la stessa domanda oggi e questa pagina mi ha aiutato (anche se l'output era una versione mobile della pagina): stackoverflow.com/questions/9540990/…
MicroMachine

Risposte:


7

Abbiamo affrontato lo stesso problema in un progetto universitario e siamo riusciti a risolverlo utilizzando

wkhtmltopdf

Abbiamo apprezzato molto le capacità di questo strumento sulla riga di comando. Lo abbiamo anche chiamato usando il codice Python per rendere lo stato corrente delle pagine web. Ha la possibilità di consegnare la pagina web come pdf, di solito non perfetta per preservare la vista del sito web a causa della formattazione della pagina (A4 per esempio) o come png (conserva la vista della pagina ma non i collegamenti)

C'è anche il progetto di leggibilità (per Python: pypi.python.org/pypi/readability-lxml) che abbiamo usato che fa abbastanza bene la rimozione degli annunci e il rilevamento dei contenuti (ad esempio per articoli di giornale e simili). Se desideri solo un componente aggiuntivo o un'estensione per il tuo browser, la seguente implementazione di leggibilità potrebbe soddisfare le tue esigenze:

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


Sfortunatamente, wkhtmltopdf non ha conservato le posizioni degli elementi della pagina. Pagina di esempio : fattore di zoom: 0,4: schermate , output PDF
Omar

La leggibilità semplifica la pagina (che è una buona cosa, tuttavia questo non è quello che sto cercando). Devo mantenere tutte le proprietà delle posizioni / stili della pagina visualizzate sul browser Web in formato PDF senza alcuna manipolazione.
Omar,

Hai usato l'opzione wkhtmltopng dello strumento, in quanto le posizioni dovrebbero essere a posto (almeno molto meglio che nella versione pdf in cui la pagina è adattata al formato A4)
sebisnow

3

Contribuire con un'altra risposta per i possibili utenti. In Firefox, c'era un addon "Stampa pagine in PDF". Puoi cercare la sua ultima versione 0.1.9.3 (funziona solo con versioni pre-Quantum).

Attualmente c'è questo componente aggiuntivo sia per Chrome che per Firefox che funziona abbastanza bene: PDFMage

  • Salva tutte le immagini nella pagina
  • Genera testo come testo, non come immagine, puoi cercare testo nel PDF generato.
  • Collegamenti ipertestuali del conservatore
  • Ha la possibilità di salvare una lunga pagina Web come PDF di una pagina (quindi le immagini non sono divise tra le pagine)

2

Ho davvero lottato con questo e ho provato la maggior parte degli strumenti menzionati finora. I migliori risultati che ho ottenuto sono stati l'utilizzo della modalità senza testa di Chrome. Il comando su MacOS sarebbe simile al seguente:

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

Il miglior elenco di opzioni della riga di comando che ho trovato era qui .

Tuttavia ci sono stati problemi con questo. In particolare le mie pagine sono molto pesanti di javascript e non sono riuscito a far aspettare che la funzione di stampa terminasse l'esecuzione. Quindi il mio output non conteneva le immagini.

La soluzione che ho trovato è stato un pacchetto nodeJS: chrome-headless-render-pdf. La sua scarsa documentazione è qui . Funziona ed è facilmente scrivibile.


2

Ho avuto lo stesso problema e l'ho capito tramite Chrome e con un driver di stampante gratuito chiamato PDF995. Questo fa parte di una suite di utilità PDF; il sito web dell'editore è http://www.pdf995.com/ .

Tuttavia, penso che sarà sufficiente qualsiasi browser Web e qualsiasi convertitore PDF. Comunque, ecco cosa ho fatto:

  1. seleziona tutto o evidenzia tutto.
  2. Fare clic con il tasto destro del mouse sulla selezione evidenziata o premere Ctrl + P (entrambe le opzioni offrono risultati leggermente diversi, ma si ottiene lo stesso risultato dopo il completamento).

  3. Se si fa clic con il pulsante destro del mouse in 2., la selezione (scorciatoia), fare clic su "stampa" e solo tutto ciò che è stato selezionato verrà visualizzato nell'anteprima di stampa. Assicurati di cambiare la destinazione della tua stampante in qualunque convertitore pdf tu decida di usare (PDF995 o altro).

  4. Fai clic su "stampa" e salva come documento pdf.

  5. Se invece hai premuto Ctrl + P in 2. (il modo leggermente più lungo), fai clic su "Altre impostazioni" e scorri verso il basso fino a "Opzioni".

  6. Fai clic sulla casella che dice "Solo selezione" e tutto ciò che segue la scorciatoia che ho descritto seguirà.

  7. Non dimenticare di cambiare la destinazione della stampante in qualunque convertitore pdf tu scelga (PDF995 o altro).

  8. Fai clic su "Stampa".



0

Sebbene non sia esattamente la tua richiesta in quanto non in PDF, se l'obiettivo è puramente mantenere una copia offline delle pagine Web per la successiva revisione, salvandola come pagina Web farebbe proprio questo.

Il grande avvertimento è che creerà un file .html e una cartella con tutto il contenuto multimediale sulla pagina anziché un singolo documento.

In Chrome e Firefox, puoi salvare una pagina facendo clic con il tasto destro su di essa e scegliendo Salva con nome ... In Internet Explorer, puoi salvarla in File -> Salva con nome (premendo il tasto Alt per visualizzare i menu).


Il salvataggio della pagina Web in formato .html lo renderebbe non annotabile. Quindi ne ho bisogno in formato PDF.
Omar,

È un buon punto! Ho appena ricordato un'estensione che ti consente di disabilitare facilmente i fogli di stile relativi alla stampa. Una rapida ricerca su Google mi ha portato alla discussione quando ne avevo sentito parlare per la prima volta, su Superuser: come ottenere WYSIWYP (stampare ciò che vedi) in un browser Web?
Pyheme,

Ho provato a fare "Salva con nome" utilizzando Chrome. Crea un file .HTML e una cartella. Il file .HTLM mancava un sacco di roba dalla pagina.
SherlockSpreadsheets,

0

Prova questo servizio. Crea un PDF da un sito Web come lo vedi nel browser. https://lomotoh.com/ (sono affiliato a questo sito)


Ciò mantiene i collegamenti, ma non il testo selezionabile, che è un requisito nella domanda.
fixer1234,

Sembra essere selezionabile per alcuni siti. Penso che dipenda dal tipo di carattere personalizzato utilizzato dal sito.
David Herse,

0

Almeno tutto il testo in alcune pagine è ricercabile, selezionabile, tagliato e sfogliabile. Ho provato su una pagina incollata roboticamente da un computer senza testo e pixel e questo ha sintonizzato il tutto in un'immagine.

Ho usato queste cose per anni. Ottengo i migliori risultati in Linux ricostruendo la pagina in una XX parola di tua scelta ed esportando il risultato in formato PDF. Posso ottenere ciò che voglio a costi considerevoli. Dal mio uso limitato arch ivin Il sito creato da David Herse https://lomotoh.com/ ( NON sono affiliato a questo sito) funziona come qualsiasi altro che abbia mai usato. Sarò la mia risorsa per coprire le pagine Web in PDF fino a quando non lo trovo meglio o costa troppo per me pagare con la mia borsa sottile.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.