วิธีแปลงเว็บเพจเป็น 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 เครื่องมือสำหรับนักพัฒนา , เต็มหน้าจับภาพหน้าจอ , Page2Images , เว็บจับภาพ , ... ) ไม่ตอบคำถามของฉันเพราะพวกเขาไม่ได้รักษาข้อความและ ลิงค์ .

Scribleเหมาะสำหรับการเก็บรักษาหน้าเว็บไว้เป็นหมายเหตุประกอบและการวิจัยเพิ่มเติม แต่น่าเสียดายที่ยังคงออนไลน์อยู่และไม่มีการแปลงเป็นรูปแบบ PDF

มีคำถามอีกสองคำถามเกี่ยวกับชุมชนที่คล้ายกันอย่างไรก็ตามฉันคำถามนี้แตกต่างกันเล็กน้อย แต่มีความแตกต่างที่สำคัญเหล่านั้น:

  • วิธีรับ WYSIWYP (พิมพ์สิ่งที่คุณเห็น) ในเว็บเบราว์เซอร์
    • คำถามนี้ถามเกี่ยวกับวิธีการจับภาพหน้าเว็บ (ตามที่เห็นบนหน้าจอ) ต่อไปแม้ว่าจะเป็นรูปภาพและข้อความจะไม่ถูกสงวนไว้ ในขณะที่ฉันกำลังมองหาการจับข้อความและลิงค์ด้วย (ที่สำคัญคือรักษาข้อความและลิงก์ )

คำถามที่คล้ายกันมากขึ้นที่การรักษาข้อความและลิงก์ไม่ใช่ข้อกำหนด (หน้าถูกจับเป็นภาพหน้าจอส่วนใหญ่):


หมายเหตุ

ระบบปฏิบัติการ: Windows 10


หากคุณต้องการพิมพ์จากเบราว์เซอร์ก่อนอื่นคุณต้องปิดการใช้งานสไตล์การพิมพ์ใด ๆ เพื่อรักษาลักษณะหน้าจอของหน้าเว็บ
DavidPostill


จากนั้นคุณสามารถพิมพ์โดยใช้นักเขียน CutePDF
DavidPostill

@DavidPostill ดูเหมือนว่าการปิดใช้งานลักษณะการพิมพ์อาจไม่ทำงานหรือไม่ส่งผลกระทบต่อเบราว์เซอร์ในการแสดง PDF อย่างถูกต้อง มีการเพิ่มภาพตัวอย่างหน้าจอในคำถามที่แก้ไขแล้ว
โอมาร์

ฉันมีคำถามเดียวกันวันนี้และหน้านี้ช่วยฉัน (แม้ว่าผลลัพธ์จะเป็นรุ่นมือถือของหน้า): stackoverflow.com/questions/9540990/…
MicroMachine

คำตอบ:


7

เราประสบปัญหาเดียวกันในโครงการของมหาวิทยาลัยและสามารถแก้ไขได้โดยใช้

wkhtmltopdf

เราค่อนข้างสนุกกับความสามารถของเครื่องมือนี้ในบรรทัดคำสั่ง เราเรียกมันว่าใช้รหัสหลามเพื่อแสดงสถานะปัจจุบันของหน้าเว็บ มีตัวเลือกในการแสดงหน้าเว็บเป็น pdf โดยปกติจะไม่สมบูรณ์แบบในการรักษามุมมองเว็บไซต์เนื่องจากการจัดรูปแบบหน้า (A4 เป็นต้น) หรือเป็น png (รักษามุมมองของหน้า แต่ไม่ใช่ลิงก์)

นอกจากนี้ยังมีความสามารถในการอ่าน (สำหรับ Python: pypi.python.org/pypi/readability-lxml) โครงการที่เราใช้ซึ่งทำการลบโฆษณาและตรวจจับเนื้อหาได้ค่อนข้างดี (เช่นสำหรับบทความในหนังสือพิมพ์และอื่น ๆ ) หากคุณต้องการ addon หรือส่วนขยายสำหรับเบราว์เซอร์ของคุณการใช้งานความสามารถในการอ่านต่อไปนี้อาจตอบสนองความต้องการของคุณ:

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

รายการที่ดีที่สุดของตัวเลือกบรรทัดคำสั่งที่ฉันพบได้ที่นี่

อย่างไรก็ตามมีปัญหากับเรื่องนั้น หน้าของฉันหนักมากจาวาสคริปต์และฉันไม่สามารถทำให้ฟังก์ชั่นการพิมพ์รอให้การดำเนินการเสร็จสิ้น เอาท์พุทของฉันไม่มีภาพในนั้น

วิธีการแก้ปัญหาที่ผมพบคือแพคเกจ chrome-headless-render-pdfnodeJS: เอกสารขาดแคลนมันคือที่นี่ มันใช้งานได้และมันก็เป็นสคริปต์ได้อย่างง่ายดาย


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 (พิมพ์สิ่งที่คุณเห็น) ในเว็บเบราว์เซอร์ได้อย่างไร
Pyheme

ฉันพยายามทำ "บันทึกเป็น" โดยใช้ Chrome มันสร้างไฟล์. HTML และโฟลเดอร์ ไฟล์. HTLM ขาดสิ่งต่าง ๆ มากมายจากหน้าเว็บ
SherlockSpreadsheets

0

ลองใช้บริการนี้ สร้าง PDF จากเว็บไซต์ตามที่คุณเห็นในเบราว์เซอร์ https://lomotoh.com/ (ฉันเป็นพันธมิตรกับเว็บไซต์นี้)


การทำเช่นนี้จะรักษาลิงก์ แต่ไม่ใช่ข้อความที่สามารถเลือกได้ซึ่งเป็นข้อกำหนดในคำถาม
fixer1234

ดูเหมือนจะเลือกได้สำหรับบางเว็บไซต์ ฉันคิดว่ามันขึ้นอยู่กับประเภทของแบบอักษรที่กำหนดเองที่ไซต์ใช้
David Herse

0

อย่างน้อยข้อความทั้งหมดในบางหน้าสามารถค้นหาเลือกตัดและวางได้ ฉันลองบนหน้าเว็บวางโดยหุ่นยนต์โดยไม่มีข้อความและพิกเซลและมันปรับให้เป็นภาพ

ฉันใช้สิ่งเหล่านี้มานานหลายปี ฉันได้รับผลลัพธ์ที่ดีที่สุดใน Linux โดยการสร้างหน้าขึ้นใหม่ในคำที่คุณเลือก XX และส่งออกผลลัพธ์เป็น PDF ฉันสามารถได้รับสิ่งที่ฉันต้องการในราคาที่คุ้มค่า จากการใช้งานซุ้มโค้งที่ จำกัด ของฉันเว็บไซต์ David Herse วาง https://lomotoh.com/ (ฉันไม่ได้มีส่วนเกี่ยวข้องกับเว็บไซต์นี้) ทำงานได้ดีเท่าที่เคยใช้มา ฉันจะไปที่แหล่งข้อมูลเพื่อให้ครอบคลุมหน้าเว็บเป็น PDF จนกว่าฉันจะพบว่าดีขึ้นหรือเสียค่าใช้จ่ายมากเกินไปสำหรับฉันที่จะจ่ายเงินออกจากกระเป๋าเงินของตัวเอง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.