ข่าวดี : มีวิธีบันทึก PDF ของคุณอย่างครบถ้วน
ข่าวร้าย : มันยืดออกไปหน่อยและไฟล์ PDF อาจไม่ถูกต้อง 100%!
(ดีกว่าไม่มีอะไรถูกใช่มั้ย)
ดังนั้นเพื่อให้ได้งานทั้งหมดคุณจะต้องทำสิ่งต่อไปนี้:
- หยิบ NodeJS จากที่นี่แล้วติดตั้ง
- ก . ถ้าคุณได้
git
ติดตั้งเพียงโคลนmozilla/pdf.js
repo จาก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
ไฟล์ ของคุณ
พารามิเตอร์ที่สามคือชื่อและรูปแบบของไฟล์ที่คุณจะบันทึกการจับภาพ
ในที่สุดพารามิเตอร์สุดท้ายคือขนาดของการจับภาพ คุณจะต้องเล่นกับขนาดเพื่อให้แน่ใจว่าคุณจับภาพได้ทั้งหน้า