Bir web sayfasını, görünümünü (tıpkı web tarayıcısında olduğu gibi) ve metni / bağlantıları koruyarak PDF'ye nasıl dönüştürebilirim?


24

Bir web sayfasını PDF'ye dönüştürmenin bir yolunu arıyorum, ancak web sayfasının görünümünü koruyorum. Ayrıca web sayfasının metnini koruyarak (seçilebilir) aranabilir [Web sayfası için resim ekran görüntüsü oluşturmak metni ne seçilebilir ne de aranabilir yapar].

Stil veya hizalama üzerinde herhangi bir manipülasyon veya herhangi bir web sayfasının statik bileşenlerinin kaybı olmadan web sayfasını olduğu gibi (web tarayıcısında olduğu gibi) PDF'ye yazdırmak için arıyorum.

Bu, kolayca okunabilir, açıklanabilir ve aranabilir web sayfalarının çevrimdışı kopyalarının korunmasına yardımcı olur.


Sorumu almak için aşağıdakilerden herhangi birini okumanıza gerek yok (Soru sadece yukarıdaki bölüm) . Aşağıdaki bölüm, soruya yanıt bulmak için araştırma veya başkalarının cevaplarını iç içe bir şekilde listelediğim şeyleri listelemektedir.

Araştırma Sonuçları (Sorunumu çözmeyen öneriler)

Bir çözüm bulmaya çalışırken şimdiye kadarki sonuçlar (Hepsi bu soru için bir çözüm olarak çalışmıyor)

Bu PDF web baskı motorlarını denedim, ancak sayfaların görünümünü değiştiriyor, daha da zarar veriyor ve neredeyse hiç okunamaz hale getiriyor: ( Örnek sayfa ekran görüntüleri köşeli parantezlere dahil edilmiştir)

  • Chrome [ Orijinal , Baskı Stilleri ( Devre Dışı | Devre Dışı Değil )]
  • Firefox [ Orijinal , Baskı Stilleri (Devre Dışı p1 , p2 | Devre Dışı değil p1 , p2 )]
  • Okunabilirlik
    • Web sayfasını basitleştirir (odaklanmış okuma için iyi bir şeydir - Ancak, aradığım bu değil). Web tarayıcısında herhangi bir manipülasyon olmadan PDF formatında görüldüğü gibi tüm web sayfasının konumlarını / stilleri özelliklerini arıyorum.
  • Foxit Okuyucu
  • novaPDF
  • CutyCapt [ Orijinal , Zoom Faktörü: 0.4 : Ekran Görüntüleri, Çıktı PDF
    • Windows'ta programın çalışma sorunlarını çözdükten sonra bağlantılar ekleyeceğim "
  • wkhtmltopdf [ Orijinal , Zoom Faktörü: 0.4 : Ekran Görüntüleri , Çıktı PDF ]
    • CSS3'ü desteklemez.

Tüm web sayfası ekran görüntüsü yakalama eklentileri (örn. Kaçırma , Harika Ekran Görüntüsü , Fireshot , Firefox Ekran Görüntüsü Geliştirici Aracı , Tam Sayfa Ekran Yakalama , Page2Images , web yakalama , ...) sorumu yanıtlamıyor, çünkü metin ve bağlantılar .

Scrible , ek açıklama ve araştırmalar için olduğu gibi web sayfalarını korumada harikadır, ancak maalesef hala çevrimiçi ve PDF formatına dönüştürülmeden.

Toplulukta bir şekilde benimkine benzer iki soru daha var, ancak bu biraz farklı ama bu önemli ayrımlarla:

Daha fazla Metin ve bağlantıyı korumanın bir zorunluluk olmadığı benzer sorular (sayfalar çoğunlukla görüntü ekran görüntüsü olarak alınır ):


notlar

İşletim Sistemi: Windows 10


Bir tarayıcıdan yazdırmak istiyorsanız, önce web sayfasının ekran görünümünü korumak için herhangi bir yazdırma stili sayfasını devre dışı bırakmanız gerekir.
DavidPostill


Sonra CutePDF yazıcı kullanarak yazdırabilirsiniz .
DavidPostill

@DavidPostill Baskı stillerini devre dışı bırakmak işe yaramıyor ya da tarayıcıyı PDF'yi doğru görüntüleyecek şekilde etkilemiyor. Sorunun düzenlenmiş sürümüne örnek bir ekran görüntüsü eklendi.
Omar

Bugün aynı soruyu sordum ve bu sayfa bana yardımcı oldu (çıktı sayfanın mobil bir sürümü olmasına rağmen): stackoverflow.com/questions/9540990/…
MicroMachine

Yanıtlar:


7

Bir Üniversite projesinde aynı problemle karşılaştık ve bunu kullanarak çözebildik

wkhtmltopdf

Komut satırında bu aracın yeteneklerinden oldukça keyif aldık. Web sayfalarının mevcut durumunu oluşturmak için python kodu kullanarak da adlandırdık. Web sayfasını pdf olarak teslim etme seçeneğine sahiptir, genellikle Sayfa biçimlendirmesi (örneğin A4) nedeniyle web sitesi görünümünü korumak için mükemmel değildir veya png (sayfanın görünümünü korur, ancak bağlantıları korumaz)

Reklamların kaldırılmasını ve içerik tespitini oldukça iyi yapan (örneğin gazete makaleleri ve benzerleri için) kullandığımız okunabilirlik (Python: pypi.python.org/pypi/readability-lxml) projesi de var. Tarayıcınız için yalnızca bir eklenti veya uzantı istiyorsanız, aşağıdaki okunabilirlik uygulaması ihtiyacınızı karşılayabilir:

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


Ne yazık ki, wkhtmltopdf sayfanın öğe konumlarını korumamıştır. Örnek Sayfa : Zoom Faktörü: 0.4: Ekran görüntüleri , Çıktı PDF
Omar

Okunabilirlik sayfayı basitleştirir (ki bu iyi bir şeydir - Ancak aradığım şey bu değil). Web Tarayıcısı'nda görüldüğü gibi tüm sayfanın konumlarını / stil özelliklerini herhangi bir manipülasyon olmadan PDF formatında tutmam gerekiyor.
Ömer

Eğer (en azından çok daha iyi sayfa A4 formatına takılmıştır pdf versiyonunda yerine) tamam olmalıdır pozisyonları png olarak, aracın wkhtmltopng seçeneğini kullandınız mı
sebisnow

3

Olası kullanıcılar için başka bir yanıta katkıda bulunmak. Firefox'ta eskiden "Sayfaları PDF'ye yazdır" eklentisi vardı. Son sürümü 0.1.9.3'ü arayabilirsiniz (yalnızca Quantum öncesi sürümlerde çalışır).

Şu anda hem Chrome hem de Firefox için oldukça iyi çalışan bu eklenti var: PDFMage

  • Tüm resimleri sayfaya kaydet
  • Metin olarak görüntü olarak değil metin olarak üretin, oluşturulan PDF'de metin arayabilirsiniz.
  • Koruyucu köprüler
  • Uzun bir web sayfasını tek sayfalık PDF olarak kaydetme seçeneği vardır (böylece resimler sayfalar arasında bölünmez)

2

Bununla gerçekten mücadele ettim ve şimdiye kadar bahsedilen araçların çoğunu denedim. Aldığım en iyi sonuçlar Chrome'un başsız modunu kullanmaktı. MacOS'taki komut şöyle görünecektir:

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

Bulduğum komut satırı seçeneklerinin en iyi listesi buradaydı .

Ancak bununla ilgili sorunlar vardı. Özellikle sayfalarım çok javascript ağır ve yazdırma işlevi yürütme bitirmek için beklemek yapamadı. Böylece çıktımda görüntüler yoktu.

Bulduğum çözüm nodeJS paket oldu: chrome-headless-render-pdf. Az dokümantasyon burada . Çalışır ve kolayca yazılabilir.


2

Aynı sorunu yaşadım ve Chrome aracılığıyla ve PDF995 adlı ücretsiz bir yazıcı sürücüsüyle anladım. Bu, PDF yardımcı programlarının bir parçasıdır; yayıncının web sitesi http://www.pdf995.com/ .

Ancak, herhangi bir web tarayıcısı ve herhangi bir pdf dönüştürücü yeterli olacağını düşünüyorum. Her neyse, işte şunu yaptım:

  1. tümünü seç veya her şeyi vurgula.
  2. Vurgulanan seçimi sağ tıklatın veya Ctrl + P tuşlarına basın (her iki seçenek de biraz farklı sonuçlar verir, ancak tamamlandıktan sonra aynı sonuca ulaşırsınız).

  3. 2. öğesini sağ tıkladıysanız, seçim (kısayol), "yazdır" düğmesini tıklatın; baskı önizlemesinde yalnızca seçtiğiniz tüm öğeler olacaktır. Yazıcı hedefinizi, kullanmaya karar verdiğiniz herhangi bir pdf dönüştürücüyle değiştirdiğinizden emin olun (PDF995 veya diğer).

  4. "Yazdır" ı tıkladığınızda pdf belgesi olarak kaydedilir.

  5. Bunun yerine Ctrl + P tuşlarına 2'de (biraz daha uzun bir yol) bastıysanız, "Diğer ayarlar" ı tıklayın ve "Seçenekler" e gidin.

  6. "Yalnızca seçim" yazan kutuyu tıklayın; açıkladığım kısayoldaki her şey takip edecek.

  7. Yazıcı hedefinizi seçtiğiniz herhangi bir pdf dönüştürücüsüne değiştirmeyi unutmayın (PDF995 veya diğer).

  8. "Yazdır" ı tıklayın.



0

PDF'de olmadığı gibi isteğiniz tam olarak olmasa da, amaç yalnızca daha sonra incelenmek üzere web sayfalarının çevrimdışı bir kopyasını tutmaksa, bunu web sayfası olarak kaydetmek tam da bunu yapar.

Büyük uyarı, bir .html dosyası ve tek bir belge yerine sayfadaki tüm medya içeriğine sahip bir klasör oluşturmasıdır.

Chrome ve Firefox'ta, sayfayı sağ tıklayıp Farklı kaydet ... seçeneğini belirleyerek bir sayfayı kaydedebilirsiniz. Internet Explorer'da, dosyayı Dosya -> Farklı kaydet altında (menülerin görünmesi için Alt tuşuna basarak) kaydedebilirsiniz.


Web sayfasını .html biçiminde kaydetmek sayfanın ek açıklanamaz olmasını sağlar. Bu yüzden PDF formatında ihtiyacım var.
Omar

İyi bir noktaya değindin! Baskı ile ilgili stil sayfalarını kolayca devre dışı bırakmanıza izin veren bir uzantı hatırladım. Hızlı bir google araması beni Superuser'da
Pyheme

Chrome'u kullanarak "Farklı Kaydet" işlemini denedim. Bir .HTML dosyası ve bir klasör oluşturur. .HTLM dosyasında sayfadan çok fazla şey eksikti.
SherlockSpreadsheets

0

Bu servisi deneyin. Tarayıcıda gördüğünüz gibi bir web sitesinden PDF oluşturur. https://lomotoh.com/ (Bu siteye bağlıyım)


Bu, soruları zorunlu kılan bağlantıları korur, ancak seçilemez metni korur.
fixer1234

Bazı siteler için seçilebilir gibi görünüyor. Sitenin ne tür özel yazı tipi kullandığını düşünüyorum.
David Herse

0

Bazı sayfalardaki metnin en azından tamamı aranabilir, seçilebilir, kesilebilir ve yapıştırılabilir. Metin ve pix dışında bir bilgisayar tarafından robotik olarak yapıştırılan bir sayfada denedim ve hepsini bir görüntüye ayarladı.

Bunları yıllardır kullandım. Sayfayı istediğiniz bir XX kelimeyle yeniden yapıp sonucu PDF olarak dışa aktararak Linux'ta en iyi sonuçları elde ederim. İstediğim şeyi oldukça yüksek maliyetle alabilirim. Benim sınırlı kullanım kemer ivin itibaren David Herse koymak https://lomotoh.com/ (Ben bu siteye bağlı DEĞİLDİR ) yanı sıra şimdiye kadar kullandığınız herhangi bir çalışır. Daha iyi bulana veya kendi ince çantamdan ödeme yapmam çok pahalıya mal olana kadar PDF'lere web sayfalarını kapsayacak kaynağım olacak.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.