ข่าวดี : มีวิธีบันทึก PDF ของคุณอย่างครบถ้วน
ข่าวร้าย : มันยืดออกไปหน่อยและไฟล์ PDF อาจไม่ถูกต้อง 100%!
(ดีกว่าไม่มีอะไรถูกใช่มั้ย)
ดังนั้นเพื่อให้ได้งานทั้งหมดคุณจะต้องทำสิ่งต่อไปนี้:
- หยิบ NodeJS จากที่นี่แล้วติดตั้ง
- ก . ถ้าคุณได้
gitติดตั้งเพียงโคลนmozilla/pdf.jsrepo จากgithubชอบ
git clone git://github.com/mozilla/pdf.js.git pdfjsและcdลงในไดเรกทอรีข
หากคุณไม่มีgitคุณจะต้องดาวน์โหลดที่เก็บรหัสทั้งหมดจากที่นี่: https://github.com/mozilla/pdf.js/archive/master.zip
เปิดเครื่องรูดมันแล้วเปิดขึ้นcommand promptและcdลงในรากของโฟลเดอร์
- วิ่ง
node make server
สิ่งที่คุณได้ทำเพื่อให้ห่างไกลคือการสร้างเว็บเซิร์ฟเวอร์ที่ทำงานบนlocalhost:8888ที่สามารถแสดงผลไฟล์ PDF JavaScriptโดยใช้ คุณสามารถดูตัวอย่าง pdf ได้โดยไปที่หน้าต่อไปนี้:http://localhost:8888/web/viewer.html?file=/examples/learning/helloworld.pdf
ถัดไปคุณจะต้องดาวน์โหลด PhantomJS
- คว้าจากที่นี่
- เปิดเครื่องรูดมันทุกที่ที่คุณต้องการจากนั้นจากพรอมต์คำสั่ง
cdลงในbinโฟลเดอร์
- คัดลอก
rasterize.jsไฟล์จากexamplesโฟลเดอร์phantomjsไปยังbinโฟลเดอร์(ฉันรู้ว่ามันสกปรกเล็กน้อย แต่เราสามารถจัดเรียงออกภายหลังได้ไหม?)
- เปิด
rasterize.jsเพราะเราต้องเปลี่ยนอะไรบางอย่าง
- ไปที่บรรทัด
45และเปลี่ยนเวลาจาก200เป็นอย่าง5000ตอนนี้ รหัสควรมีลักษณะดังนี้: https://gist.github.com/HaykoKoryun/eba33f2011d3d69b773b
- วางสำเนาของ
pdfไฟล์ที่คุณต้องการบันทึกลงในโฟลเดอร์ที่เรียกว่าtestในpdfjsโฟลเดอร์รูท
- เรียกใช้คำสั่งต่อไปนี้ในที่สุด
phantomjs.exe rasterize.js http://localhost:8888/web/viewer.html?file=/test/xxx.pdf test.png 1920px*1080px
อะไรคือพารามิเตอร์ที่ฉันได้ยินคุณพูด คนแรกบอกว่าphantomjsสคริปต์ที่จะทำงาน ง่ายมากในกรณีของเรามันเป็นเวอร์ชั่นที่ได้รับการแก้ไขแล้วrasterize.js!
อันที่สองคือ URL ที่จะโหลดซึ่งเป็นเว็บเซิร์ฟเวอร์ในเครื่องกำลังทำงานpdfjsอยู่ โปรดทราบว่าคุณจะต้องแทนที่xxxด้วยชื่อpdfไฟล์ ของคุณ
พารามิเตอร์ที่สามคือชื่อและรูปแบบของไฟล์ที่คุณจะบันทึกการจับภาพ
ในที่สุดพารามิเตอร์สุดท้ายคือขนาดของการจับภาพ คุณจะต้องเล่นกับขนาดเพื่อให้แน่ใจว่าคุณจับภาพได้ทั้งหน้า