ฉันพยายามแปลงข้อมูล XML เป็นไฟล์ PDF จากหน้าเว็บและฉันหวังว่าฉันจะทำได้ทั้งหมดภายใน JavaScript ฉันต้องสามารถวาดข้อความรูปภาพและรูปร่างที่เรียบง่าย ฉันชอบที่จะสามารถทำสิ่งนี้ได้อย่างสมบูรณ์ในเบราว์เซอร์
ฉันพยายามแปลงข้อมูล XML เป็นไฟล์ PDF จากหน้าเว็บและฉันหวังว่าฉันจะทำได้ทั้งหมดภายใน JavaScript ฉันต้องสามารถวาดข้อความรูปภาพและรูปร่างที่เรียบง่าย ฉันชอบที่จะสามารถทำสิ่งนี้ได้อย่างสมบูรณ์ในเบราว์เซอร์
คำตอบ:
ฉันเพิ่งเขียนไลบรารีชื่อjsPDFซึ่งสร้าง PDF โดยใช้ Javascript เพียงอย่างเดียว มันยังเด็กมากและฉันจะเพิ่มคุณสมบัติและแก้ไขข้อบกพร่องในไม่ช้า มีแนวคิดเล็กน้อยสำหรับการแก้ไขปัญหาในเบราว์เซอร์ที่ไม่รองรับ Data URIs มันได้รับใบอนุญาตภายใต้ใบอนุญาต MIT เสรี
ฉันเจอคำถามนี้ก่อนที่จะเริ่มเขียนและคิดว่าฉันจะกลับมาและแจ้งให้คุณทราบ :)
ตัวอย่างสร้างไฟล์ PDF "Hello World"
// Default export is a4 paper, portrait, using milimeters for units
var doc = new jsPDF()
doc.text('Hello world!', 10, 10)
doc.save('a4.pdf')
<script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/1.3.5/jspdf.debug.js"></script>
อีกห้องสมุดจาวาสคริปต์มูลค่าการกล่าวขวัญpdfmake
การสนับสนุนเบราว์เซอร์ดูเหมือนจะไม่แรงเท่า jsPDF และดูเหมือนจะไม่มีตัวเลือกสำหรับรูปร่าง แต่ตัวเลือกสำหรับการจัดรูปแบบข้อความนั้นสูงกว่าตัวเลือกที่มีอยู่ใน jsPDF ในปัจจุบัน
ฉันบำรุงรักษาPDFKitซึ่งเป็นพลังของ pdfmake (ได้กล่าวถึงแล้วที่นี่) มันทำงานได้ทั้งในโหนดและเบราว์เซอร์และสนับสนุนสิ่งต่าง ๆ ที่ห้องสมุดอื่นไม่ทำ:
ลองดูhttp://pdfkit.org/เพื่อดูบทแนะนำแบบสมบูรณ์เพื่อดูว่า PDFKit ทำอะไรได้บ้าง และสำหรับตัวอย่างของสิ่งที่ชนิดของเอกสารที่สามารถผลิตการตรวจสอบเอกสารเป็น PDF ที่สร้างจากบาง Markdown ไฟล์โดยใช้ PDFKit ตัวเอง: http://pdfkit.org/docs/guide.pdf
นอกจากนี้คุณยังสามารถลองมันออกมาโต้ตอบในเบราว์เซอร์ที่นี่: http://pdfkit.org/demo/browser.html
คุณสามารถใช้บริการฟรีนี้ได้โดยเพิ่มลิงค์ที่สร้าง pdf จาก url ใด ๆ (เช่นhttp://www.phys.org ):
แม้ว่าคุณจะสามารถสร้าง PDF ในหน่วยความจำใน JavaScript ได้ แต่คุณก็ยังคงมีปัญหาในการถ่ายโอนข้อมูลนั้นไปยังผู้ใช้ มันยากสำหรับ JavaScript ที่จะเพียงแค่ผลักไฟล์ที่ผู้ใช้
ในการรับไฟล์ให้กับผู้ใช้คุณต้องการให้เซิร์ฟเวอร์ส่งเพื่อรับเบราว์เซอร์เพื่อเปิดกล่องโต้ตอบบันทึก
ด้วยที่กล่าวว่ามันไม่ยากเกินไปที่จะสร้าง PDF แค่อ่านสเป็ค