บันทึกสำเนาที่แน่นอนของเว็บเพจที่ปลอดภัยในรูปแบบกราฟิกแบบเวกเตอร์


9

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

ฉันได้ลองใช้ 'print to pdf' และ 'save as pdf' ผ่าน Safari, Chrome และ Firefox ใช้งานได้เกือบตลอดเวลา อย่างไรก็ตาม PDF ที่บันทึกไว้นั้นไม่ใช่แบบจำลองที่แน่นอนสำหรับหน้าเว็บทั้งหมด ตัวอย่างเช่นลองบันทึกหน้าเว็บนี้เป็น pdf และสังเกตว่าไอคอน upvote / downvote ไม่รวมอยู่ใน pdf ที่บันทึกไว้

ฉันได้ลองบันทึกเป็น WebArchive ด้วย Safari แล้ว ปัญหาที่นี่คือฉันต้องครอบตัดไฟล์ผลลัพธ์และฉันไม่รู้วิธีการครอบตัด WebArchive เนื่องจาก Preview ไม่สามารถเปิดได้และจะเปิดขึ้นใน Safari (กลับไปที่ช่องสี่เหลี่ยมหนึ่ง)

ฉันได้ลองใช้ปลั๊กอินเว็บเบราว์เซอร์ที่ให้บริการโซลูชันแบบคลิกเดียวเพื่อบันทึกหน้าเว็บเป็น pdf (รูปแบบกราฟิกแบบเวกเตอร์) สิ่งนี้ใช้งานได้ดีกว่า (บันทึกหน้าเว็บที่แน่นอน) และเกือบจะแก้ปัญหาได้ยกเว้นว่าโปรแกรมเหล่านี้ทำงานได้โดยส่ง URL หน้าไปยังโปรแกรมบนคลาวด์เพื่อสอบถามและบันทึกหน้า ซึ่งหมายความว่าเทคนิคนี้จะไม่ทำงานสำหรับเว็บไซต์ https ที่ต้องใช้ข้อมูลรับรองของฉันเพื่อเข้าสู่ระบบ

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


1
ฉันคิดว่าคุณสับสน - PDF ไม่ใช่รูปแบบเวกเตอร์
Kevin Panko

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

คำถามของคุณน่าจะเป็น "ฉันจะบันทึกหน้าเว็บเป็นไฟล์ PDF ตรงตามที่ปรากฏบนหน้าจอและทำงานกับหน้าที่ต้องการรหัสผ่านเพื่อเข้าสู่ระบบได้อย่างไร"
Kevin Panko

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

คำตอบ:


6

คุณได้รับผลลัพธ์ที่แตกต่างกันในการพิมพ์หน้าเป็น PDF กว่าที่คุณเห็นเมื่อดูหน้าบนหน้าจอ

สิ่งนี้เกิดขึ้นเนื่องจากเว็บเพจนั้นมีสไตล์ชีท CSS ซึ่งจะเปลี่ยนหน้าเมื่อมีการพิมพ์

คำถามนี้จะช่วยคุณหลีกเลี่ยงปัญหานั้น: ฉันจะพิมพ์ด้วยสไตล์ชีทของหน้าจอได้อย่างไร

ทำตามคำแนะนำที่นั่นเพื่อพิมพ์หน้าด้วยสไตล์ชีทบนหน้าจอ

จากนั้นคุณควรจะสามารถพิมพ์เป็น PDF และรับผลลัพธ์เดียวกับที่คุณเห็นบนหน้าจอ


1
สำหรับเอกสารฉบับเต็มฉันลงเอยด้วยการใช้ปลั๊กอิน Chrome Web Developer และแก้ไข CSS ผ่านปลั๊กอินนี้ ฉันไม่สามารถรับหน้าพิมพ์เพื่ออัปเดตหลังจากแก้ไข css โดยใช้เครื่องมือสำหรับนักพัฒนาซอฟต์แวร์ในตัวของ Google Chrome แต่สิ่งนี้น่าจะเป็นเพราะฉันไม่คุ้นเคยกับเครื่องมือนั้น
Clayton Stanley

4

หากคุณไม่กลัวการเขียนสคริปต์เพียงเล็กน้อยคุณสามารถลองใช้แอปพลิเคชั่น phantomjs สำหรับ OSX ได้จากhttp://phantomjs.org/

จากนั้นคุณจะเรียกใช้ไบนารีที่รวมโดยใช้สคริปต์ rasterize.js ด้วยคำสั่งเช่น:

phantomjs.exe rasterize.js http://www.example.com/sitepage 8.5in*11in outfile.pdf

หมายเหตุคู่:

  • มันเรียกว่า 'rasterize.js' แต่ข้อความนั้นถูกบันทึกลงใน PDF เป็นข้อความจริง

  • การพิสูจน์ตัวตนกับไซต์ที่ปลอดภัยโดยใช้การพิสูจน์ตัวตน windows สามารถทำได้โดยการเพิ่มคู่บรรทัดลงในสคริปต์ rasterize.js หลังจากเริ่มต้นวัตถุหน้า:

var page = ต้องการ ('หน้าเว็บ') สร้าง ()
    ระบบ = ต้องการ ('ระบบ')
    ที่อยู่, เอาท์พุท, ขนาด;
    page.settings.userName = "serviceUserName"; // ฉันเพิ่มสิ่งเหล่านี้
    page.settings.password = "servicePassword"; // 2 บรรทัดที่นี่

if (system.args.length 5) {

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