2008-09-12 40 views

Trả lời

52

LibHaru

Haru là một miễn phí, đa nền tảng, mã nguồn mở thư viện phần mềm cho tạo PDF viết bằng ANSI-C. Nó có thể hoạt động như cả thư viện tĩnh (.a, .lib) và thư viện dùng chung (.so, .dll).

Chưa thử nó bản thân mình, nhưng có lẽ nó có thể giúp bạn

+0

Chúng tôi có thể đọc tệp pdf bằng LibHaru hoặc chúng tôi chỉ có thể tạo? –

+4

@Rui: chỉ tạo, thật không may. –

+2

FWIW, tôi đã viết một trình bao bọc POCO cho libHaru (https://github.com/pocoproject/poco/tree/master/PDF). Chúng tôi không bao giờ phát hành nó nhưng nó gần mã sản xuất. – Alex

15

Nếu bạn dũng cảm và sẵn sàng để cuộn của riêng bạn, bạn có thể bắt đầu với một thư viện PostScript và tăng cường nó để đối phó với PDF, tận dụng lợi thế của free online PDF reference của Adobe.

3
  • LibHaru dường như được nhiều người sử dụng.

Một cách tiếp cận nguồn không mở là: PDF Creator Pilot cung cấp tùy chọn ngôn ngữ hơn bao gồm C++, C#, Delphi, ASP, ASP.NET, VB, VB.NET, VBScript, PHP và Python

5

Nó phụ thuộc một chút về nhu cầu của bạn. Một số bộ công cụ tốt hơn khi vẽ, một số khác thì tốt hơn để viết văn bản. Cairo có bản vẽ khá tốt (nó hỗ trợ nhiều loại màn hình và loại tệp, bao gồm pdf), nhưng nó có thể không lý tưởng cho kiểu chữ tốt.

17

Tôi đã làm việc trên một dự án yêu cầu báo cáo pdf. Sau khi tìm kiếm trực tuyến, tôi tìm thấy thư viện PoDoFo. Dường như rất mạnh mẽ. Tôi không cần tất cả các tính năng, vì vậy tôi đã tạo ra một trình bao bọc để trừu tượng hóa một số sự phức tạp. Không quá khó. Bạn có thể tìm thấy thư viện tại đây:

http://podofo.sourceforge.net/

Tận hưởng!

+0

Xây dựng PdDoFo trên Mac là một nỗi đau lớn vì vậy cuối cùng tôi đã từ bỏ việc thử. Xây dựng LibHaru rất dễ dàng. –

+0

Podofo có 2 vấn đề về trình biên dịch, sau khi thêm #include , vào hai tệp, đã có thể tạo gói. Nhưng bằng cách nào đó, hệ thống cmake không chơi tốt trên Linux của tôi, nơi tôi có hai phiên bản của GCC (phiên bản cũ đi kèm với Centos6.5 của tôi, và một phiên bản 5.3 mới nhất mà tôi xây dựng). Liên kết là một vấn đề. Tôi quản lý để liên kết helloworld, nhưng các chương trình thử nghiệm sản xuất một tài liệu trống. Rất khó để giải quyết vấn đề này. –

+1

Nhưng podofo YÊU CẦU thư viện freetype2 là ** GPL, chứ không phải LGPL **. Bạn không thể tạo phần mềm bằng cách sử dụng freetype2 ** nếu bạn không muốn đặt nguồn của mình ở chế độ công khai. ** – 18C

1

thư viện muPdf trông rất hứa hẹn: http://mupdf.com/

Ngoài ra còn có một người xem mã nguồn mở: http://blog.kowalczyk.info/software/sumatrapdf/free-pdf-reader.html

+1

Dường như muPdf là để hiển thị các tệp PDF chứ không phải tạo chúng? – vy32

+0

@ vy32 Nhìn vào nguồn tôi có thể nói rằng việc tạo ra các tệp pdf là tốt nhất trong tiến trình chứ không phải mục tiêu chính của 'muPdf' – matec

6

PDF Hummus. xem cho http://pdfhummus.com/ - chứa tất cả các tính năng bắt buộc để thao tác với tệp PDF ngoại trừ hiển thị.

+0

Tôi đã thực hiện xuất PDF lớn với Hummus gần đây và có thể giới thiệu nó. Có lẽ không hoàn thành về mặt bao gồm tất cả các tính năng của PDFSpec hiện tại (khá đầy đủ), nhưng dễ hiểu và tốt có thể mở rộng thông qua lớp gọi lại với một số hàm ảo (https://github.com/galkahana/PDF- Writer/blob/master/PDFWriter/DocumentContextExtenderAdapter.h). Chứa xử lý TIFF/JPEG và thư viện freetype để xử lý phông chữ. –

6

jagpdf có vẻ là một trong số đó. Nó được viết bằng C++ nhưng cung cấp một API C.

1

Hãy thử wkhtmltopdf

Phần mềm tính năng

nền tảng Cross. Nguồn mở. Chuyển đổi mọi trang web thành tài liệu PDF bằng cách sử dụng webkit. Bạn có thể thêm đầu trang và chân trang. Tạo TOC. Chuyển đổi chế độ hàng loạt. Có thể chạy trên máy chủ Linux bằng XServer (phải cài đặt lib máy khách X11). Có thể được PHP hoặc Python sử dụng trực tiếp thông qua các ràng buộc với libwkhtmltox.

+0

Điều này là tốt. Tuy nhiên, vì nó sử dụng webkit ngày, một số trang có thể khiếu nại (ví dụ: youtube) – swdev

Các vấn đề liên quan