2010-01-26 27 views
11

Tôi có yêu cầu để có thể tạo tệp PDF trong ứng dụng (ASP.net) của chúng tôi. Chúng tôi cần đáp ứng các yêu cầu sau:Tạo PDF động từ mẫu

  1. Văn bản sẽ chủ động và phải được thêm theo chương trình.

  2. Lý tưởng nhất là chúng tôi muốn căn cứ các tài liệu được tạo này ra khỏi mẫu PDF do nhà thiết kế của chúng tôi cung cấp.

  3. Một số phần/trang có thể hoặc không hiển thị tùy thuộc vào các điều kiện nhất định - lý tưởng là chúng tôi muốn nội dung 'chảy' trở lên để lấp đầy khoảng trống khi có nội dung nào đó bị xóa.

  4. Một số trang có thể cần phải lặp lại, tùy thuộc vào một số điều kiện nhất định.

  5. Một số mẫu PDF sẽ nằm ngoài tầm kiểm soát của chúng tôi (chúng tôi đang điền các biểu mẫu ứng dụng do bên thứ ba cung cấp), vì vậy có thể đọc trong một tệp PDF trống và phổ biến.

Tôi đã nhìn iTextSharp và có vẻ như để làm hầu hết những điều này (tức là tôi có thể mất một PDF, chỉnh sửa nó để bao gồm các lĩnh vực hình thức mà chúng ta cần phải điền dữ liệu và sau đó sử dụng iTextSharp để đọc rằng trong như là một mẫu và điền dữ liệu), tuy nhiên, tôi không chắc chắn làm thế nào sau đó để đi về tiềm năng ẩn toàn bộ các phần và/hoặc lặp lại các trang.

Điều tôi đang tìm kiếm ở đây là một lời khuyên nhỏ từ bất kỳ ai đang ở trong tình huống tương tự.


Cập nhật nhỏ tại đây, chúng tôi đã sử dụng iTextSharp - đây là một công cụ mạnh mẽ, nhưng học một chút, tuy nhiên nó nhanh, nhẹ và chính xác những gì chúng tôi muốn.

Tuy nhiên ...

tôi sẽ chỉ ra rằng phiên bản mới nhất là không còn thực sự miễn phí (như trong bia) - giấy phép không cho phép sử dụng thương mại. Kết quả là, bây giờ chúng ta có một phiên bản được cấp phép, nhưng nó không hề rẻ tiền (và họ không công bố một bảng giá).

+0

xem [bài viết] này (http://www.nopcommerce.com/boards/t/15568/feature-request-template-based-reporting-system.aspx) trên báo cáo dựa trên mẫu. Đây là [html to pdf converter] (http://www.hiqpdf.com) mà họ đang nói đến. –

Trả lời

5

Tôi sẽ sử dụng iTextSharp. Tôi tạo ra tất cả các loại tập tin PDF dựa trên các mẫu khác nhau và iText đã làm việc tốt nhất cho tôi. Nó là một điều khiển rất mạnh và có thể thao tác các tệp pdf chỉ bằng bất kỳ cách nào.

Tôi không chắc rằng iText có thể xử lý yêu cầu thứ ba của bạn hay không. Tôi biết rằng nó có thể tạo ra một pdf từ một tập tin html. Có thể sử dụng những gì Tomas đăng và tạo pdf với iText.

+0

iTextSharp không áp dụng CSS ... Tôi muốn tạo một bảng với đường viền, nhưng nó không hoạt động .... Ngoài ra màu nền , không hoạt động ... –

5

Có nhiều thành phần thương mại khác nhau để thực hiện việc này. Hãy xem: PDFLib (http://www.pdflib.com/), Thành phần Cao (http://www.tallcomponents.com/) v.v.

Tôi đã sử dụng sản phẩm từ các thành phần Cao và có thể giới thiệu chúng.

Một số loại khác đắt hơn rất nhiều.

ITextSharp như bạn đã đề cập khá tốt và có thể được sử dụng để thêm/xóa các trang bên ngoài, trong này bạn có thể ẩn toàn bộ trang bằng cách ommiting chúng hoặc thay thế chúng bằng các trang giữ chỗ. iText có thể sử dụng các tệp PDF hiện có hoặc tạo các trang trống.

Từ trải nghiệm cá nhân của tôi, tôi vừa mới thả hình ảnh và văn bản vào các trang hiện có và thêm các trang được tạo bởi công cụ báo cáo khi dữ liệu dạng bảng được yêu cầu.

HTH

+0

Mmm. Nhưng nếu nội dung để ẩn là một phần trong một trang, điều này sẽ trở nên khó khăn hơn một chút. – Paddy

+0

Bạn có thể thêm một trang không chứa phần đó, sau đó điều chỉnh theo chương trình một trang khác (hoặc cả hai) rồi thay thế nó khi bạn cần? –

0

Tôi sẽ xem xét việc tạo tệp HTML từ mẫu và chuyển chúng thành PDF với Prince.Hoàng tử rất linh hoạt và thu thập các tệp HTML từ các mẫu dễ dàng hơn nhiều sau đó tạo tệp PDF trực tiếp.

+1

Chúng tôi hiện đang làm một cái gì đó như thế này (sử dụng activePDF) và nó là một chút về phía chậm. – Paddy

+0

'Chúng tôi cung cấp một giấy phép miễn phí cho việc sử dụng phi thương mại của Hoàng tử. Giấy phép này thêm một logo nhỏ vào trang đầu tiên của tập tin PDF được tạo ra.' – Thomas

2

Tại sao cần tệp mẫu ở định dạng pdf? Với động mà bạn muốn nó là một định dạng xấu cho mẫu báo cáo. Sử dụng phần mềm báo cáo cũng xuất ra dưới dạng pdf. Các nhà thiết kế của bạn có thể tạo các mẫu rất dễ dàng với GUI. Bạn sẽ tìm thấy nhiều giải pháp báo cáo ở đây trên stackoverflow.

1

Chúng tôi đã sử dụng http://www.dynamicpdf.com/, cho các dự án như thế này và đã hài lòng với kết quả. Họ có một công cụ thiết kế WYSIWYG PDF mà bạn có thể sử dụng để xây dựng mẫu bố cục của tệp PDF, cùng với công cụ để hợp nhất mẫu với dữ liệu của bạn dựa trên trường để ánh xạ cột. Điều này giúp tiết kiệm thời gian viết tay mỗi phần tử của một PDF nhất định. Nó hỗ trợ tiêu đề trang và chân trang và giao dịch với sự phức tạp của ngắt trang.

+0

đây không phải là phần mềm miễn phí – luka