2009-12-23 23 views
5

Làm cách nào để giảm thiểu sự đau đớn trong quá trình phát triển của bạn khi nói đến báo cáo?Giảm thiểu nỗi đau khi triển khai các báo cáo có thể in

Đối với khung công tác web, có một cách khá đơn giản để vừa sản xuất nội dung vừa thiết kế đồ họa; nội dung được biểu diễn ngữ nghĩa thông qua HTML và thiết kế được chỉ định riêng thông qua CSS. Và các trình duyệt khá nhất quán với cách chúng hiển thị kết quả đầu ra (và các mâu thuẫn là nổi tiếng và có thể được lên kế hoạch). Thậm chí có cả trình soạn thảo WYSIWYG để giúp các nhà thiết kế đồ họa ít hiểu biết về CSS hơn.

Nhưng chúng ta làm gì với nội dung in?

Tại một công ty, tôi đã tạo một quy trình hoạt động như sau: Một tập lệnh tạo ra một biểu diễn ngữ nghĩa thông qua XML. XML được chuyển qua XSLT để tạo ra một tài liệu XML-FO. Sau đó, điều này đã được chuyển cho một công cụ khác (Apache FOP, tôi tin) để tạo ra một tệp PDF. Điều này làm việc tốt cho công ty đó.

Tại công ty này, tuy nhiên, xuất hiện đầu ra quan trọng đối với việc quản lý và chúng tôi có nhà thiết kế đồ họa. Hiện tại, chúng tôi đang sử dụng công cụ báo cáo (XtraReports từ Developer Express, phiên bản 8.1). Nó không tệ; nó xuất ra nhiều định dạng khác nhau, có một nhà thiết kế WYSIWYG, các báo cáo được thực hiện thông qua các lớp C#, và nó hỗ trợ ràng buộc dữ liệu với các tập dữ liệu (không may, không phải của POCO). Tuy nhiên, chúng tôi có một số điểm đau lớn với thiết lập này:

  • Khung báo cáo có những hạn chế lớn về cách bạn có thể đặt ra và nhóm ban nhạc báo cáo của bạn
  • yếu tố Ăn mặc chỉnh tề, đặc biệt là các biểu đồ, thiếu khả năng chúng ta cần phải tinh chỉnh và đạt được cái nhìn của mô hình của chúng tôi.
  • Không có cách nào tốt để chia sẻ kiểu và bố cục giữa các báo cáo giống như những gì chúng tôi có thể nhận được thông qua CSS.
  • Khả năng kết hợp tốt của các bộ phận tái sử dụng là rất khó thực hiện. Vì vậy, chúng tôi kết thúc với rất nhiều bản sao & dán thừa kế chức năng; đây là tin xấu bất cứ khi nào chúng ta cần thực hiện các thay đổi sâu rộng trên tất cả các báo cáo.

Bây giờ, có thể có một số khung công tác kick-ass ngoài đó có thể loại bỏ sự đau khổ của các khung báo cáo, nhưng tôi cho rằng tất cả đều có điểm yếu của chúng. Bạn có một khuôn khổ hoặc quy trình hoạt động tốt cho bạn và làm giảm các điểm đau vốn có trong báo cáo?

Trả lời

1

Prince XML là một công cụ thực sự tuyệt vời cho phép bạn sử dụng HTML hoặc XML theo kiểu CSS (bao gồm CSS paged media để in) và tạo tệp PDF từ đó.

+0

Lòng tốt của tôi, trông thật hoàn hảo. Tôi sẽ phải thử nghiệm điều đó. Cá nhân bạn đã sử dụng sản phẩm này chưa? Nếu vậy, nó sẽ được tốt đẹp nếu bạn xây dựng trên kinh nghiệm của bạn với việc sử dụng này. – Jacob

+0

Tôi đã sử dụng cho một dự án rất lớn và có kinh nghiệm tuyệt vời với nó. Bạn chỉ có thể tạo bất kỳ HTML/CSS nào bạn thích và nó tạo ra một tệp PDF. Hỗ trợ CSS cũng như bất kỳ trình duyệt nào tôi đã sử dụng. Tài liệu có một số thông tin tốt về cách thức hỗ trợ phương tiện truyền thông được phân trang: http://princexml.com/doc/7.0/ – Annie

+0

Dang, 3800 USD cho giấy phép trang web. Có thể đáng giá nếu nó có thể đẩy nhanh quá trình phát triển của chúng tôi, nhưng hãy nhai! – Jacob

1

Tùy chọn # 1: Adobe Acrobat thực sự rất hay. Bạn có thể thiết kế các tệp PDF được bật biểu mẫu và sau đó sử dụng một cái gì đó như PDFSharp để thao tác tài liệu PDF. Bạn có thể tạo tệp PDF mẫu mà bạn đổ công cụ đã tạo của mình vào. Tôi đã làm điều này trước đây và nó đã khá thành công. Tôi cũng sử dụng các đối tượng POCO độc đáo.

Tùy chọn # 2: Bạn có thể bắt đầu tạo các tài liệu XPS, dựa trên XML. Và chúng có thể được chuyển đổi dễ dàng sang PDF nếu cần.

Lựa chọn # 3:. Chạy cho cuộc sống của bạn (có thể không là một lựa chọn)

+0

Tùy chọn 3 có vẻ là lựa chọn lành mạnh nhất. Tuy nhiên, tôi cũng thích tùy chọn # 1; tuy nhiên, tôi không chắc chắn về cách sửa đổi PDF để sử dụng hiệu quả nó làm mẫu. Bạn có thể giải thích về điều này hoặc cung cấp một liên kết đến một bài viết hay nếu đây là một cái gì đó thường được thực hiện? – Jacob

0

i-net Clear Reports là một sản phẩm đẹp. Nó dựa trên Java nhưng bạn cũng có thể làm việc với ASP.NET. Có một cây cầu. Phiên bản .NET đang hoạt động nếu bạn muốn làm việc với POCO. Vì phiên bản Java có thể làm việc với POJO nên phiên bản .NET sắp tới cũng sẽ làm việc với POCO.

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