Tạo tệp pdf trong thời gian chạy trong c # [đóng]


83

Có thư viện pdf đính kèm / có thể được đính kèm với .NET 3.5 cho phép tạo tệp pdf trong thời gian chạy hay không, tức là mở tệp pdf mới, ghi từng dòng, nhúng hình ảnh, v.v. và đóng tệp pdf tất cả bằng mã C # ?

Những gì tôi muốn là một bộ công cụ và thông số kỹ thuật cho phép tôi triển khai trình viết pdf tùy chỉnh trong C # mà không cần sử dụng tùy chọn xuất pdf của Dịch vụ báo cáo.

Câu trả lời:


39

iTextSharp http://itextsharp.sourceforge.net/

Phức tạp nhưng toàn diện.


2
Chà, tôi đã đăng và trong vòng 60 giây có ba đề xuất khác cho điều tương tự! Tôi đoán nó là phổ biến.
ine

4
Rất phổ biến - hơi tẻ nhạt khi làm việc với IMO, nhưng bạn có thể nhận được một số kết quả tốt đẹp. Và nó hoàn toàn miễn phí.
Knobloch

3
liên kết mới để nguồn: sourceforge.net/projects/itextsharp
Travis

4
Nó không phải là miễn phí các chàng trai! Do đâu mà nó nói vậy?
Fandango68

2
Các phiên bản AGPL là miễn phí. Nhưng không còn là câu trả lời tốt nhất.
aggsol

116

iTextSharp không còn được cấp phép theo giấy phép MIT / LGPL. Các phiên bản lớn hơn 4.1.6 được cấp phép theo Affero GPL, có nghĩa là bạn thậm chí không thể sử dụng nó trong tình huống SaaS (Phần mềm dưới dạng dịch vụ) mà không cấp phép mã của bạn theo GPL hoặc giấy phép tương thích với GPL.

Các triển khai PDF nguồn mở khác trong .NET gốc bao gồm

Ngoài ra còn có một vài thư viện PDF Java (như PDFBox) mà bạn có thể chuyển đổi sang .NET bằng IKVM.


28
+1 để tham khảo sự thay đổi giấy phép. Gotta tìm hiểu một thư viện PDF mới ngay bây giờ ...
Mayo

1
Bất kỳ nơi nào vẫn có thể tải xuống phiên bản 4.1.6 của iTextSharp? Có bất kỳ sự cố nào khiến phiên bản cũ hơn này không nên được tải xuống không?
Rasto

1
@drasto Tôi tìm thấy cái này qua Google: github.com/itextsharper/iTextSharp-4.1.6 Ngoài ra, có vẻ như bạn có thể tải các phiên bản cũ hơn qua NuGet. Tôi chưa xác nhận điều này.
darkphoenix

32

Hãy xem PDFSharp

Nó là mã nguồn mở và nó được viết bằng .NET, bản thân tôi cũng sử dụng nó để tạo hóa đơn PDF.


6
PDFsharp được cấp giấy phép MIT . (Rất
dễ dãi

PDFSharp (MigraDoc) cực kỳ dễ bắt đầu. Tôi đã có đầu ra mà tôi mong muốn trong vòng một hoặc hai giờ.
Chuck Savage

Các bạn ơi, PDFSharp có cho phép bạn tạo một biểu mẫu PDF để người dùng có thể nhập dữ liệu trực tiếp vào các trường của biểu mẫu và gửi lại cho chúng tôi qua email không? Tôi không thể thấy bất kỳ điều gì như thế này trên trang tính năng của họ, nhưng nó cho biết hỗ trợ AcroForm hạn chế. AcroForm là gì? Điều tương tự?
Fandango68

Dự án này hiện không được hỗ trợ?
Johnny_ Ngày

4

Chà, miễn phí và không miễn phí, tôi sử dụng thành phần WebSuperGoo ABCpdf .NET , điều mà tôi thích nó!

không miễn phí vì bạn cần phải trả tiền cho nó.

miễn phí vì ngay cả khi bạn phải trả phí, họ vẫn có phiên bản dùng thử và bạn có thể yêu cầu giấy phép miễn phí nếu không phiền, trong trang web của bạn hiển thị "Trang web này sử dụng thành phần WebSuperGoo ABCpdf .NET" với một liên kết đến trang web của họ.

Tôi đã làm điều đó và tôi đã nhận được giấy phép miễn phí (phiên bản 5 vào thời điểm đó) vì vậy, tôi có thể nói rằng nó hoạt động (ngay cả khi trang web không còn trực tuyến nữa) - Tôi vẫn có và sử dụng thành phần ~ :)

Một điều tuyệt vời mà tôi yêu thích với điều này là bạn có thể làm mọi thứ mà bạn có thể làm được với điều này, tạo các biểu mẫu PDF và điền động chúng và gửi cho người dùng bằng thư hoặc yêu cầu họ tải xuống, tạo pdf từ đầu, chuyển đổi HTML các trang thành PDF, v.v., v.v., hãy đọc tài liệu, nó là một thành phần tuyệt vời.


2

Tôi thực sự khuyên bạn nên: iTextSharp


11
Đây là một đề xuất trùng lặp
epotter

3
@epotter Xin lỗi vì phản hồi muộn, nhưng thực tế là hầu như tất cả những người đề xuất iTextSharp đã làm điều đó trong khung thời gian một phút
Przemek

3
Có nhưng nó không còn là lựa chọn hàng đầu do chi phí. Nó không còn miễn phí nữa
Fandango68


1

Thư viện Docotic.Pdf có thể dễ dàng được sử dụng để tạo các tệp PDF trong thời gian chạy. Thư viện cũng có thể sửa đổi các tài liệu PDF hiện có (trích xuất văn bản / hình ảnh, nối các trang, điền vào các trường biểu mẫu, v.v.)

Các mẫu cho các nhiệm vụ thông thường có sẵn trên trang web của thư viện.

Tuyên bố từ chối trách nhiệm: Tôi làm việc cho Bit Miracle.


0

Còn iTextSharp thì sao?

iText là một thư viện tạo PDF (trong số các thư viện khác) cũng được chuyển (và được giữ đồng bộ) sang C #.



0

Đối với điều này, tôi đã xem xét việc chạy các ứng dụng LaTeX để tạo ra một pdf. Mặc dù tùy chọn này có thể phức tạp và nặng nề hơn nhiều so với những tùy chọn được liệt kê ở đây.



0

Amyuni PDF Converter .Net cũng có thể được sử dụng cho việc này. Và nó cũng sẽ cho phép bạn sửa đổi các tệp hiện có, áp dụng OCR cho chúng và trích xuất văn bản, tạo hình ảnh raster (để tạo hình thu nhỏ chẳng hạn), tối ưu hóa tệp PDF đầu ra để xem web, v.v.

Tuyên bố từ chối trách nhiệm thông thường được áp dụng.


0

Có một dự án mới, RazorPDF có thể được sử dụng từ ASP.NET MVC. Nó có sẵn dưới dạng gói nuget (tìm kiếm RazorPDF).

Đây là thêm thông tin: http://nyveldt.com/blog/post/Introductioning-RazorPDF

CẬP NHẬT QUAN TRỌNG như @DenNukem đã chỉ ra, nó phụ thuộc vào iTextsharp, tôi đã quên chỉnh sửa câu trả lời khi tôi phát hiện ra điều đó (khi tôi cố gắng sử dụng nó), vì vậy nếu dự án của bạn không phải là mã nguồn mở và đủ điều kiện cho giấy phép AGPL của họ, nó có thể sẽ quá đắt để sử dụng.


2
Cảnh báo: phụ thuộc vào iTextsharp, là một thành phần AGPL và yêu cầu giấy phép thương mại không được tiết lộ để được sử dụng mà không có các hạn chế AGPL.
DenNukem

2
Yeah, và tôi yêu cầu iTextSharp báo giá cho một máy chủ, gần $ 2000, vì vậy đây là không đi :(
Goran Obradovic

1
Cảm ơn bạn đã tìm hiểu giá cả, giúp tôi tiết kiệm một chút thời gian ở đó. Bây giờ tôi đang nghiêng về PDFJet, vì phiên bản miễn phí của họ dường như phù hợp với nhu cầu của tôi lúc này.
DenNukem

RazorPDF sẽ hoạt động với phiên bản LGPL của iTextSharp, chỉ cần sử dụng NuGet-package nuget.org/packages/iTextSharp-LGPL
Toft,
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.