Bagaimana cara mengkonversi halaman web ke PDF dengan mempertahankan tampilannya (persis seperti pada browser web) dan teks / tautan?

24

Saya mencari cara untuk mengkonversi halaman web ke PDF, tetapi menjaga tampilan halaman web. Juga menjaga teks halaman web (dipilih), dapat dicari [Membuat screenshot gambar untuk halaman web akan membuat teks tidak dapat dipilih atau dicari].

Saya mencari untuk mencetak halaman web ke PDF apa adanya (seperti pada browser web) tanpa manipulasi pada gaya atau perataan, atau kehilangan komponen statis halaman web mana pun.

Ini akan membantu menjaga salinan halaman web offline yang mudah dibaca, dijelaskan, dan dicari.


Anda tidak perlu membaca apa pun di bawah ini (Pertanyaan hanyalah bagian di atas) untuk mendapatkan pertanyaan saya. Bagian berikut ini hanya daftar apa yang saya dapatkan melalui penelitian atau jawaban orang lain dengan cara bersarang untuk mencapai jawaban untuk pertanyaan itu.

Hasil Penelitian (Saran yang tidak menyelesaikan masalah saya)

Hasil hingga saat ini mencoba menemukan solusi (Semua masih tidak berfungsi sebagai solusi untuk pertanyaan ini)

Saya sudah mencoba mesin cetak web PDF ini tetapi semua memanipulasi tampilan halaman, bahkan lebih merusak dan membuat beberapa sulit dibaca: ( Contoh screenshot halaman disertakan dalam tanda kurung siku)

  • Chrome [ Asli , Gaya Cetak ( Dinonaktifkan | tidak Dinonaktifkan )]
  • Firefox [ Asli , Gaya Cetak (Dinonaktifkan p1 , p2 | tidak Dinonaktifkan p1 , p2 )]
  • Keterbacaan
    • Ini menyederhanakan halaman web (yang merupakan hal yang baik untuk membaca terfokus – Namun, ini bukan yang saya cari). Saya mencari untuk menjaga semua properti posisi / gaya halaman web seperti yang terlihat di Web Browser dalam format PDF tanpa manipulasi.
  • Foxit Reader
  • NovaPDF
  • CutyCapt [ Asli , Faktor Zoom: 0.4 : Screenshot, Outputted PDF]
    • Saya akan menambahkan tautan setelah saya menyelesaikan masalah program yang sedang berjalan di Windows "
  • wkhtmltopdf [ Asli , Faktor Zoom: 0.4 : Screenshot , Outputted PDF ]
    • Itu tidak mendukung CSS3.

Semua menangkap plugin halaman web screenshot gambar (misalnya Penculikan , mengagumkan Screenshot , FireShot , Firefox Screenshot Pengembang Alat , Full Page Screen Capture , Page2Images , web-capture , ...) tidak menjawab pertanyaan saya, karena mereka tidak melestarikan teks dan tautan .

Scrible hebat dalam menjaga halaman web seperti untuk anotasi dan penelitian lebih lanjut, tetapi sayangnya masih online dan tanpa konversi ke format PDF.

Ada dua pertanyaan lain tentang komunitas yang mirip dengan saya, namun, yang ini sedikit berbeda tetapi dengan perbedaan penting:

Lebih banyak pertanyaan serupa di mana menjaga teks dan tautan bukan keharusan (sebagian besar halaman diambil sebagai tangkapan layar gambar ):


Catatan

OS: Windows 10

Omar
sumber
Jika Anda ingin mencetak dari browser, pertama-tama Anda harus menonaktifkan lembar gaya cetak apa pun untuk mempertahankan tampilan layar halaman web.
DavidPostill
Lihat Cara mendapatkan WYSIWYP (cetak apa yang Anda lihat) di peramban web? . Lihat jawaban saya untuk pertanyaan itu.
DavidPostill
Kemudian Anda dapat mencetak menggunakan penulis CutePDF .
DavidPostill
@ Davidvidost Tampaknya menonaktifkan gaya cetak tidak berfungsi atau tidak mempengaruhi browser untuk menampilkan PDF dengan benar. Contoh tangkapan layar telah ditambahkan ke versi pertanyaan yang diedit.
Omar
Saya memiliki pertanyaan yang sama hari ini dan halaman ini membantu saya (walaupun hasilnya adalah versi mobile dari halaman): stackoverflow.com/questions/9540990/…
MicroMachine

Jawaban:

7

Kami menghadapi masalah yang sama dalam proyek Universitas dan dapat menyelesaikannya dengan menggunakan

wkhtmltopdf

Kami cukup menikmati kemampuan alat ini di baris perintah. Kami juga menyebutnya menggunakan kode python untuk membuat keadaan laman web saat ini. Ia memiliki opsi untuk mengirimkan halaman web sebagai pdf, biasanya tidak sempurna untuk mempertahankan tampilan situs web karena pemformatan Halaman (misalnya A4), atau sebagai png (mempertahankan tampilan halaman tetapi bukan tautan)

Ada juga proyek keterbacaan (untuk Python: pypi.python.org/pypi/readability-lxml) yang kami gunakan yang melakukan penghapusan iklan dan deteksi konten dengan cukup baik (misalnya untuk artikel surat kabar dan sejenisnya). Jika Anda hanya ingin addon atau ekstensi untuk peramban Anda, penerapan keterbacaan berikut ini mungkin memuaskan kebutuhan Anda:

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

sebisnow
sumber
Sayangnya, wkhtmltopdf tidak mempertahankan posisi elemen halaman. Halaman Contoh : Faktor Zoom: 0.4: Screenshot , Diproduksi PDF
Omar
Keterbacaan menyederhanakan halaman (yang merupakan hal yang baik – Namun ini bukan yang saya cari). Saya perlu menjaga semua properti posisi / gaya halaman seperti yang terlihat di Web Browser dalam format PDF tanpa manipulasi.
Omar
Apakah Anda menggunakan opsi wkhtmltopng alat, seperti png posisi harus baik-baik saja (setidaknya jauh lebih baik daripada dalam versi pdf di mana halaman tersebut dipasang ke format A4)
sebisnow
3

Menyumbangkan jawaban lain untuk kemungkinan pengguna. Di Firefox, dulu ada addon "Cetak halaman ke PDF". Anda dapat mencari versi terakhir 0.1.9.3 (hanya bekerja pada versi pra-Quantum).

Saat ini ada addon ini untuk Chrome dan Firefox yang bekerja cukup baik: PDFMage

  • Simpan semua gambar di halaman
  • Hasilkan teks sebagai teks, bukan sebagai gambar, Anda dapat mencari teks dalam PDF yang dihasilkan.
  • Hyperlink pemelihara
  • Memiliki opsi untuk menyimpan halaman web yang panjang sebagai satu halaman PDF (sehingga gambar tidak dibagi di antara halaman)
nmhung1985
sumber
2

Saya benar-benar berjuang dengan ini dan mencoba sebagian besar alat yang disebutkan sejauh ini. Hasil terbaik yang saya dapatkan adalah menggunakan mode tanpa kepala Chrome. Perintah pada MacOS akan terlihat seperti ini:

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

Daftar opsi baris perintah terbaik yang saya temukan ada di sini .

Namun ada masalah dengan itu. Khususnya halaman saya sangat berat javascript dan saya tidak bisa membuat fungsi cetak menunggu mereka untuk menyelesaikan eksekusi. Jadi output saya tidak memiliki gambar di dalamnya.

Solusi yang saya temukan adalah sebuah paket nodeJS: chrome-headless-render-pdf. Hanya sedikit dokumentasi di sini . Ini bekerja dan mudah skrip.

AlanObject
sumber
2

Saya memiliki masalah yang sama, dan mengatasinya melalui Chrome dan dengan driver printer gratis bernama PDF995. Ini adalah bagian dari rangkaian utilitas PDF; situs web penerbit adalah http://www.pdf995.com/ .

Namun, saya pikir browser web dan konverter pdf apa pun sudah cukup. Bagaimanapun, inilah yang saya lakukan:

  1. pilih semua atau sorot semuanya.
  2. Klik kanan pilihan yang disorot atau tekan Ctrl + P (kedua opsi memberi Anda hasil yang sedikit berbeda, tetapi Anda berakhir dengan hasil yang sama setelah selesai).

  3. Jika Anda mengklik kanan pada 2., pilihan (jalan pintas), klik "cetak" dan hanya semua yang Anda pilih akan menjadi pratinjau cetak. Pastikan Anda mengubah tujuan printer Anda ke konverter pdf apa pun yang Anda putuskan untuk digunakan (PDF995 atau lainnya).

  4. Klik "cetak" dan simpan sebagai dokumen pdf.

  5. Jika Anda menekan Ctrl + P di 2. (dengan cara yang sedikit lebih panjang), klik "Pengaturan lainnya" dan gulir ke bawah ke "Opsi".

  6. Klik kotak yang bertuliskan "Seleksi saja" dan segala sesuatu di jalan pintas yang saya jelaskan akan mengikuti.

  7. Jangan lupa untuk mengubah tujuan printer Anda ke konverter pdf apa pun yang Anda pilih (PDF995 atau yang lain).

  8. Klik "cetak".

pengguna726167
sumber
1

Jika Anda menggunakan Linux, coba CutyCapt alat baris perintah kecil ini , yang hanya bergantung pada Qt dan QtWebkit, dan ekspor ke PDF.

Ziggy Crueltyfree Zeitgeister
sumber
0

Meskipun permintaan Anda tidak persis seperti dalam PDF, jika tujuannya murni untuk menyimpan salinan offline halaman web untuk ditinjau nanti, menyimpannya sebagai halaman web akan melakukan hal itu.

Peringatan besar adalah bahwa ia akan membuat file .html dan folder dengan semua konten media pada halaman daripada satu dokumen.

Di Chrome dan Firefox, Anda dapat menyimpan halaman dengan mengklik kanan dan memilih Save as ... Di Internet Explorer, Anda dapat menyimpannya di File -> Save as (menekan tombol Alt untuk menu yang muncul).

Pyheme
sumber
Menyimpan halaman web dalam format .html akan membuatnya tidak dapat dicatat. Jadi, saya membutuhkannya dalam format PDF.
Omar
Itu poin yang bagus! Baru ingat dengan ekstensi yang memungkinkan Anda dengan mudah menonaktifkan stylesheet yang berhubungan dengan cetak. Pencarian google cepat membawa saya ke diskusi ketika saya pertama kali mendengarnya, tentang Superuser: Bagaimana cara mendapatkan WYSIWYP (cetak apa yang Anda lihat) di browser web?
Pyheme
Saya mencoba melakukan "Simpan Sebagai" menggunakan Chrome. Ini menciptakan file .HTML dan folder. File .HTLM hilang banyak hal dari halaman.
SherlockSpreadsheets
0

Coba layanan ini. Membuat PDF dari situs web seperti yang Anda lihat di browser. https://lomotoh.com/ (Saya berafiliasi dengan situs ini)

David Herse
sumber
Ini mempertahankan tautan, tetapi bukan teks yang dapat dipilih, yang merupakan persyaratan dalam pertanyaan.
fixer1234
Tampaknya dapat dipilih untuk beberapa situs. Saya pikir itu tergantung pada jenis font khusus apa yang digunakan situs.
David Herse
0

Paling tidak semua teks pada beberapa halaman dapat dicari, dipilih, dipotong, dan dapat dilestarikan. Saya mencoba pada halaman yang direkatkan secara robotik oleh komputer dari teks dan pix dan itu disetel semuanya menjadi gambar.

Saya telah menggunakan hal-hal ini selama bertahun-tahun. Saya mendapatkan hasil terbaik di Linux dengan membangun kembali halaman dengan kata XX pilihan Anda dan mengekspor hasilnya sebagai PDF. Saya bisa mendapatkan apa yang saya inginkan dengan biaya yang cukup besar. Dari penggunaan terbatas saya lengkung ivin Situs David Herse memasang https://lomotoh.com/ (Saya TIDAK berafiliasi dengan situs ini) berfungsi sebaik yang pernah saya gunakan. Saya akan pergi ke sumber daya untuk mencakup halaman web ke PDF sampai saya menemukan yang lebih baik atau biayanya terlalu banyak bagi saya untuk membayar dari dompet tipis saya sendiri.

Gordon Couger
sumber