2009-02-05 45 views
6

Tôi đã có một trang web ASP.NET là một báo cáo được tạo động. Vì lý do kinh doanh, báo cáo chính xác này cần được tạo dưới dạng PDF. Cách tốt nhất để làm điều này là gì? Việc đặt máy in đã chọn thành Adobe PDF không phải là một tùy chọn.Tài liệu HTML sang PDF?

Tìm hiểu cách tạo PDF theo cách lập trình từ đầu? Có cách nào để hiển thị nó trong một số điều khiển trình duyệt, sau đó lưu ouput?

Trả lời

4

Nếu báo cáo là một mạng lưới (có lẽ là), this blog post using iTextSharp có thể giúp đỡ. iTextSharp là tốt và đầy đủ nhất PDF API cho C# mà tôi đã nhìn thấy.

+2

Nếu nó không phải là một lưới đơn giản, iTestSharp là không thực sự thích hợp cho nhu cầu của mình mặc dù - ông cần một bước html để chuyển đổi PDF, không phải viết lại toàn bộ trang dòng-by-line một lần nữa dưới dạng PDF. – MGOwen

3

Tôi không biết ABCpdf .NET có miễn phí hay không nhưng tôi đã nghe những điều tốt đẹp về nó. Tôi nghĩ rằng nó có thể làm cho các tập tin HTML để PDF trực tiếp.

http://www.websupergoo.com/abcpdf-5.htm

Tôi đã sử dụng PDFSharp (giả sử bạn đang sử dụng C# kết hợp với ASP) và nó hoạt động tốt. Nó không hiển thị HTML theo như tôi biết.

http://pdfsharp.com/PDFsharp/

-1

Bạn đã không đề cập đến bạn nếu bạn đang tìm kiếm một giải pháp mã nguồn mở hoặc $$ một?

Nhưng đây là công cụ chuyển đổi nguồn mở: http://sourceforge.net/projects/itextsharp/ tương đối tốt.

+1

FYI - Bây giờ họ có một mô hình cấp phép "thương mại" không miễn phí. Không có chi tiết về chi phí trên trang web của họ. – NotMe

0

Nếu bạn tập trung cụ thể vào việc tạo PDF, tôi có thể giới thiệu các sản phẩm Dynamic PDF từ CeTe. Họ là một chút tốn kém nhưng họ có rất nhiều lựa chọn, rất dễ sử dụng và được tài liệu khá tốt.

8

wkhtmltopdf - Tôi đã biên dịch nó trong Windows và nó hoạt động rất tốt. Nó sử dụng WebKit (Safari, Chrome, v.v.) để hiển thị một trang HTML thành PDF và nó hoàn toàn miễn phí!

+0

Tìm tại: http://code.google.com/p/wkhtmltopdf/ Có vẻ khá tốt từ một vài bài kiểm tra nhanh. Nó sẽ làm công việc nếu GPLv3 làm việc cho bạn. – RBerteig

+0

bất cứ nơi nào tôi có thể nhận được các cửa sổ nhị phân? – opensas

+0

http://code.google.com/p/wkhtmltopdf/ và nó là một nhị phân duy nhất cho cửa sổ – jle

0

Bạn đã xem Dịch vụ báo cáo SQL Server chưa? Nếu bạn đang sử dụng MSSQL 2005/2008 thì có thể bạn đã có các dịch vụ báo cáo và bạn chỉ cần cấu hình nó. Bạn có thể lưu trữ các báo cáo của mình ở đó và chỉ trong một vài dòng mã nhận báo cáo dưới dạng tệp PDF.

//create the web request for the report based on a URL that will define export 
    //format, parameter values, etc. 
    HttpWebRequest request = (HttpWebRequest)WebRequest.Create(reportUrl); 
    //send creditials if necessary 
    request.Credentials = new NetworkCredential(userName, password); 
    //response will contain the PDF file as a stream 
    HttpWebResponse response = (HttpWebResponse)request.GetResponse(); 

Đây là một link có thể giúp cũng

3

Năm ngoái, tôi đã làm một dự án với các file PDF, và tôi chỉ học được những định dạng PDF, mà tôi rất vui mừng.

PDF specification có sẵn một cách tự do và PDF có thể truy cập dễ dàng và dễ hiểu với tư cách là một lập trình viên. PDF là một tài liệu văn bản thuần túy, được nén tùy chọn. Mỗi trang là một mặt phẳng Descartes, mà trên đó bạn vẽ các hình dạng hình học từng cái một. Đó là cấp độ thấp và được thiết kế riêng cho việc tạo ra phần mềm.Rõ ràng có những thứ cao cấp như glyphs và mọi thứ, nhưng cũng giống như bất kỳ công nghệ được kiến ​​trúc tốt nào, bạn có thể dính vào các lớp trừu tượng nếu bạn muốn.

Việc tạo PDF trực tiếp có phụ thuộc vào độ phức tạp của tài liệu của bạn hay không. Đối với những thứ cơ bản với đồ họa, văn bản và hình ảnh đơn giản (ví dụ, hóa đơn là một ứng cử viên tốt), thì tôi sẽ chỉ viết PDF trực tiếp. Bạn sẽ có được trải nghiệm tốt và bạn sẽ có toàn quyền kiểm soát.

Đối với những thứ phức tạp hơn như biểu đồ bảng và biểu đồ hình tròn (mà PDF quá thấp để viết trực tiếp), thì tôi sẽ xem xét một thư viện hoặc bộ công cụ nào đó.

0

Sử dụng PDF Duo .NET thành phần chuyển đổi. Nó chuyển đổi HTML sang PDF để sau khi tạo báo cáo HTML của bạn, bạn có thể tạo alse PDF trong dự án ASP.NET của bạn.

0

Bạn cũng có thể tìm thấy các sản phẩm thực hiện việc này từ Adobe, FoxitWindward Reports (tuyên bố từ chối trách nhiệm - Tôi là CTO tại Windward).

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