HexaPDF
ไลบรารี Ruby โอเพ่นซอร์สสำหรับการประมวลผล PDF
สร้างและแก้ไขเอกสาร PDF รวมไฟล์ PDF ลดขนาด PDF เพิ่มคำอธิบายประกอบ แยกรูปภาพและข้อความผ่านไลบรารี Ruby แบบโอเพ่นซอร์สฟรี
Portable Document Format (PDF) เป็นรูปแบบไฟล์หลายแพลตฟอร์มที่สามารถใช้เพื่อแชร์และแสดงเอกสารในรูปแบบอิเล็กทรอนิกส์ที่ไม่ขึ้นกับซอฟต์แวร์ ฮาร์ดแวร์ หรือระบบปฏิบัติการ HexaPDF เป็นไลบรารี PDF แบบโอเพ่นซอร์สที่ช่วยให้นักพัฒนาซอฟต์แวร์สร้างแอปพลิเคชันที่มีประสิทธิภาพสำหรับการทำงานกับเอกสาร PDF โดยใช้รหัส Ruby มันอำนวยความสะดวกให้นักพัฒนาสร้างไฟล์ PDF จากศูนย์ด้วยความพยายามขั้นต่ำ
HexaPDF เป็นไลบรารี Ruby แท้ ๆ ที่ออกแบบมาเพื่อให้ใช้งานง่ายและปรับปรุงประสิทธิภาพ ไลบรารีได้รวมคุณสมบัติที่สำคัญหลายอย่างที่เกี่ยวข้องกับการสร้างเอกสาร PDF เช่นเดียวกับการจัดการ เช่น การเปิดและอ่าน PDF ที่มีอยู่ การแก้ไขไฟล์ PDF ที่มีอยู่ ข้อมูลเมตาและการแยกข้อความ การแยกรูปภาพและไฟล์จาก PDF การรวมไฟล์ PDF การเข้ารหัสหรือถอดรหัส PDF ไฟล์ การเพิ่มประสิทธิภาพไฟล์ PDF สำหรับขนาดไฟล์ที่เล็กลง และอื่นๆ อีกมากมาย
ไลบรารีรองรับเลเยอร์ระดับสูงอย่างเต็มที่สำหรับการเขียนเอกสารขององค์ประกอบแต่ละอย่าง เช่น ส่วนหัว ย่อหน้า ลิงก์ ข้อความที่เน้นย้ำ และอื่นๆ องค์ประกอบเหล่านี้ได้รับการปรับแต่ง ปรับแต่ง และสามารถปรับเปลี่ยนได้ตามความต้องการของคุณโดยอัตโนมัติ คุณสามารถเพิ่มประเภทองค์ประกอบเพิ่มเติมได้อย่างง่ายดาย
เริ่มต้นใช้งาน HexaPDF
เพื่อการใช้งานไลบรารี HexaPDF อย่างราบรื่น ขั้นตอนสำคัญอันดับแรกคือการติดตั้ง วิธีที่แนะนำสำหรับการติดตั้งคือการใช้ Rubygem โปรดใช้คำสั่งต่อไปนี้
ติดตั้ง HexaPDF โดยใช้ Rubygem
$ gem install hexapdf
สร้าง PDF ใหม่โดยใช้ Ruby Library
ไลบรารี PDF แบบโอเพ่นซอร์ส HexaPDF มีฟังก์ชันการทำงานที่สมบูรณ์สำหรับการสร้างเอกสาร PDF ใหม่ตั้งแต่ต้นด้วยคำสั่ง Ruby เพียงไม่กี่คำสั่ง คุณต้องมีอินสแตนซ์เอกสารเปล่าสำหรับการสร้าง PDF เมื่อสร้างไฟล์ PDF เปล่าแล้ว คุณสามารถเพิ่มหน้าใหม่เข้าไป วาดเส้น เส้นโค้ง สี่เหลี่ยม แทรกข้อความ และใส่สีลงไปได้ คุณยังสามารถปรับขนาดเส้นและใส่สีและเอฟเฟกต์ต่างๆ ลงไปได้
การสร้างไฟล์ PDF โดยใช้ Ruby Library
require 'hexapdf'
doc = HexaPDF::Document.new
canvas = doc.pages.add.canvas
canvas.font('Helvetica', size: 100)
canvas.text("Hello World!", at: [20, 400])
doc.write("hello_world.pdf", optimize: true)
การรวมไฟล์ PDF ผ่าน Ruby
HexaPDF ไลบรารี PDF ฟรีทำให้โปรแกรมเมอร์ซอฟต์แวร์รวมเอกสาร PDF ของตนโดยใช้โค้ด Ruby ได้อย่างง่ายดาย การรวมไฟล์ PDF สามารถทำได้หลายวิธี วิธีง่ายๆ วิธีหนึ่งคือการนำเข้าหน้าจากไฟล์ต้นทางไปยังไฟล์เป้าหมาย ซึ่งจะเก็บเนื้อหาของเพจไว้ จากนั้น คำสั่ง merging ก็สามารถนำไปใช้กับการรวมไฟล์ได้ สำหรับการผสานที่ซับซ้อนยิ่งขึ้น โปรดใช้คำสั่งไบนารี HexaPDF
การรวมไฟล์ PDF โดยใช้ HexaPDF
# imports pages of the source files into the target file. Preserves the page contents themselves.
require 'hexapdf'
target = HexaPDF::Document.new
ARGV.each do |file|
pdf = HexaPDF::Document.open(file)
pdf.pages.each {|page| target.pages << target.import(page)}
end
target.write("2.merging.pdf", optimize: true)
ปรับขนาด PDF ให้เหมาะสมผ่าน Ruby Library
ไลบรารี PDF แบบโอเพนซอร์ส HexaPDF ช่วยให้ผู้เชี่ยวชาญด้านซอฟต์แวร์ลดขนาดเอกสาร PDF ภายในแอปพลิเคชัน Ruby มีเทคนิคหลายประเภทที่สามารถใช้เพื่อปรับขนาดของ PDF ให้เหมาะสม เช่น การลบวัตถุที่ไม่ได้ใช้และที่ถูกลบ การใช้วัตถุและสตรีมการอ้างอิงโยง และการบีบอัดสตรีมเนื้อหาของหน้าอีกครั้ง การตั้งค่าย่อยแบบอักษร การผสานหรือวัตถุ เป็นต้น
อ่านและเพิ่มประสิทธิภาพไฟล์ PDF ผ่าน Ruby
// Optimize PDF Size
require 'hexapdf'
HexaPDF::Document.open(ARGV.shift) do |doc|
doc.task(:optimize, compact: true, object_streams: :generate,
compress_pages: false)
doc.write('optimizing.pdf')
end
รองรับการเข้ารหัสและถอดรหัส PDF
ไลบรารี HexaPDF ช่วยให้นักพัฒนาสามารถรักษาความปลอดภัยเอกสาร PDF โดยใช้การเข้ารหัสโดยใช้รหัส Ruby PDF มีการสนับสนุนในตัวสำหรับการรักษาความปลอดภัยโดยการเข้ารหัสเนื้อหาและกำหนดสิทธิ์การใช้งาน ระหว่างการเข้ารหัส PDF สตริงและไบต์สตรีมทั้งหมดจะได้รับการเข้ารหัส และสตรีมข้อมูลเมตาจะได้รับการยกเว้นเพื่อให้สามารถแยกไฟล์ได้ในระหว่างการแยกวิเคราะห์ไฟล์ PDF ดังนั้นผู้ที่สนใจจะดูเอกสาร PDF จะต้องระบุรหัสผ่าน
ใช้ลายเซ็นดิจิทัลเป็น PDF ผ่าน Ruby
// Add Digital signatures to PDF
require 'hexapdf'
require HexaPDF.data_dir + '/cert/demo_cert.rb'
doc = HexaPDF::Document.open(ARGV[0])
doc.sign("signed.pdf", reason: 'Some reason',
certificate: HexaPDF.demo_cert.cert,
key: HexaPDF.demo_cert.key,
certificate_chain: [HexaPDF.demo_cert.sub_ca,
HexaPDF.demo_cert.root_ca])
end