เปิดไลบรารี 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.