เปิดไลบรารี PDF สำหรับแอปพลิเคชัน C / C ++? [ปิด]


91

ฉันต้องการสร้างเอาต์พุต PDF จากแอปพลิเคชัน C ++ Windows (เนทีฟ) ของฉัน มีไลบรารีฟรี / โอเพ่นซอร์สให้ทำสิ่งนี้หรือไม่?

ฉันดูคำตอบของคำถามนี้แต่ส่วนใหญ่เกี่ยวข้องกับ. Net

คำตอบ:


62

ลิบฮารุ

Haru เป็นไลบรารีซอฟต์แวร์โอเพ่นซอร์สฟรีข้ามแพลตฟอร์มสำหรับสร้าง PDF ที่เขียนด้วย ANSI-C สามารถทำงานเป็นทั้งไลบรารีแบบคงที่ (.a, .lib) และไลบรารีที่ใช้ร่วมกัน (.so, .dll)

ไม่ได้ลองด้วยตัวเอง แต่อาจช่วยคุณได้


เราสามารถอ่านไฟล์ pdf ด้วย LibHaru หรือสร้างได้เท่านั้น?
Rui Carneiro

5
@Rui: สร้างเท่านั้นน่าเสียดาย
Mark Ransom

2
FWIW ฉันเขียน POCO wrapper สำหรับ libHaru ( github.com/pocoproject/poco/tree/master/PDF ) เราไม่เคยเปิดตัว แต่เป็นรหัสระดับใกล้การผลิต
Alex

น่าเสียดายที่ LibHaru ไม่รองรับการอ่านและแก้ไข PDF ไร้ประโยชน์สำหรับฉัน
หยุด

19

ฉันทำงานในโครงการที่ต้องใช้รายงาน pdf หลังจากค้นหาออนไลน์ฉันพบไลบรารี PoDoFo ดูเหมือนแข็งแกร่งมาก ฉันไม่ต้องการคุณสมบัติทั้งหมดดังนั้นฉันจึงสร้างเสื้อคลุมเพื่อแยกความซับซ้อนบางอย่างออกไป ไม่ยากเกินไป คุณสามารถค้นหาห้องสมุดได้ที่นี่:

http://podofo.sourceforge.net/

สนุก!


การสร้าง PdDoFo บน Mac เป็นความเจ็บปวดอย่างมากในที่สุดฉันก็เลยล้มเลิกความพยายาม การสร้าง LibHaru นั้นง่ายมาก

Podofo มีปัญหาเกี่ยวกับคอมไพเลอร์ 2 รายการหลังจากเพิ่ม #include <climits>, <numeric_limits> ในสองไฟล์ก็สามารถสร้างแพ็กเกจได้ แต่อย่างใดระบบ cmake เล่นได้ไม่ดีบน Linux ที่ฉันมี GCC สองเวอร์ชัน (รุ่นเก่ามาพร้อมกับ Centos6.5 ของฉันและ 5.3 ล่าสุดที่ฉันสร้าง) การเชื่อมโยงเป็นปัญหา ฉันจัดการเพื่อเชื่อมโยง helloworld แต่โปรแกรมทดสอบสร้างเอกสารเปล่า มันยากมากที่จะแก้ปัญหานี้
Kemin Zhou

1
แต่ต้องการการ podofo ห้องสมุด freetype2 ซึ่งเป็นจีพีแอลจีไม่ได้ คุณไม่สามารถสร้างซอฟต์แวร์โดยใช้ freetype2 ได้หากคุณไม่ต้องการให้แหล่งที่มาของคุณเป็นสาธารณะ
18C

@ 18C: Freetype อนุญาตให้รวมไว้ในแอปพลิเคชันปิดแหล่งที่มาเชิงพาณิชย์ ดูสิ่งนี้
Congenital Optimist

17

หากคุณกล้าหาญและความเต็มใจที่จะม้วนของคุณเองคุณสามารถเริ่มต้นกับห้องสมุด PostScript และเพิ่มความมันในการจัดการกับไฟล์ PDF, การใช้ประโยชน์จากของ Adobe ฟรีอ้างอิง PDF ออนไลน์


8

PDF Hummus ดูที่http://pdfhummus.com/ - มีคุณสมบัติที่จำเป็นทั้งหมดสำหรับการจัดการกับไฟล์ PDF ยกเว้นการแสดงผล


1
ฉันเพิ่งส่งออก PDF ขนาดใหญ่ด้วย Hummus เมื่อเร็ว ๆ นี้และสามารถแนะนำได้ อาจไม่สมบูรณ์ในแง่ของการครอบคลุมคุณสมบัติทั้งหมดของ PDFSpec ปัจจุบัน (ซึ่งค่อนข้างละเอียดถี่ถ้วน) แต่เข้าใจง่ายและขยายได้ดีผ่านคลาสโทรกลับพร้อมฟังก์ชันเสมือนจำนวนมาก ( github.com/galkahana/PDF-Writer/blob/ ต้นแบบ / PDFWriter / … ) ประกอบด้วยการจัดการ TIFF / JPEG และไลบรารี freetype สำหรับการจัดการแบบอักษร
RED SOFT ADAIR

คุณสามารถรวบรวมเป็นไลบรารีที่เชื่อมโยงแบบไดนามิกได้หรือไม่ หรือสนับสนุนเพียงแค่ไลบรารีที่เชื่อมโยงแบบคงที่?
แซม


7

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


5

ห้องสมุด muPdf มีแนวโน้มดีมาก: http://mupdf.com/

นอกจากนี้ยังมีโปรแกรมดูโอเพ่นซอร์ส: http://blog.kowalczyk.info/software/sumatrapdf/free-pdf-reader.html


1
ดูเหมือนว่า muPdf มีไว้สำหรับการเรนเดอร์ PDF ไม่ใช่สร้างขึ้นมา?
vy32

@ vy32 ดูที่แหล่งที่มาฉันจะบอกว่าการสร้างไฟล์ pdf อยู่ระหว่างดำเนินการที่ดีที่สุดและไม่ใช่เป้าหมายหลักของmuPdf
matec

4
  • LibHaruดูเหมือนจะถูกใช้โดยหลายคน

แนวทางที่ไม่ใช่โอเพ่นซอร์สคือPDF Creator Pilotซึ่งมีตัวเลือกภาษาเพิ่มเติม ได้แก่ C ++, C #, Delphi, ASP, ASP.NET, VB, VB.NET, VBScript, PHP และ Python


1

ลองใช้wkhtmltopdf

คุณสมบัติของซอฟต์แวร์

ข้ามแพลตฟอร์ม โอเพ่นซอร์ส. แปลงหน้าเว็บเป็นเอกสาร PDF โดยใช้ webkit คุณสามารถเพิ่มส่วนหัวและส่วนท้ายได้ การสร้าง TOC การแปลงโหมดแบทช์ สามารถรันบนเซิร์ฟเวอร์ Linux ด้วย XServer (ต้องติดตั้งไคลเอนต์ X11 libs) PHP หรือ Python สามารถใช้โดยตรงผ่านการผูกกับ libwkhtmltox


ดีจัง. แต่เนื่องจากใช้ webkit วันที่บางหน้าอาจร้องเรียน (เช่น youtube)
swdev

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