2011-07-01 4 views
7

Có ai biết cách tạo pdf bằng C# và thêm tài liệu SVG bên trong tệp PDF này không?Nhúng SVG vào PDF theo lập trình trong .NET C#

itextsharp không thể thực hiện được.

Tôi chuyển đổi SVG thành hình ảnh nhờ thư viện này (http://svg.codeplex.com/) nhưng tôi cần giữ đồ họa véc tơ vì hình ảnh bị pixel hóa.

Bất kỳ ai cũng biết thư viện để làm điều đó?

Cảm ơn,

+0

là có thể với itextsharp. 'MyImageStream = new MemoryStream(); myChart.SaveImage (MyImageStream); ' biểu đồ của tôi sẽ là đối tượng biểu đồ svg – Armance

+1

Tôi đã thay đổi cách thực hiện việc này. Tôi chuyển đổi svg trong emf và tạo ra một docx. Nhưng vì vậy với giải pháp này khi bạn phóng to hình ảnh, nó không phải là pixelize? Nếu nó không phải là pixelize đề xuất nó như là giải pháp. Nhưng tôi không thể kiểm tra nữa cz Tôi đã thay đổi tất cả mã của mình. – Dragouf

Trả lời

3

PrinceXML làm một công việc rất tốt xử lý SVG, tuy nhiên, nó không phải là hoàn toàn miễn phí, có nghĩa là phiên bản miễn phí đặt một logo nhỏ trên đầu ra PDF. Bạn có thể tìm hiểu thêm tại đây: http://www.princexml.com/doc/7.0/svg/

PDFJet sẽ cho phép bạn tạo đường kẻ, hình tròn, đa giác và các công cụ vẽ nguyên thủy khác. Bạn có thể tạo một lớp để phân tích cú pháp SVG của bạn và sau đó vẽ các vòng tròn, vòng cung, đường thẳng, v.v. thích hợp và sử dụng PDFJet để tạo PDF. PDFJet có thể được tải xuống tại đây: http://pdfjet.com/os/edition.html

Sau đó, tôi không nghĩ có nhiều tùy chọn khác cho những gì bạn đang tìm kiếm.

+0

Giải pháp thứ hai rất phức tạp. Cái đầu tiên đẹp nhưng tôi không thể chấp nhận logo. – Dragouf

+0

@Dragouf - Trên thực tế, có một thư viện SVG ở đây: [Khung SVG trong C# và cầu nối SVG-GDI +] (http://www.codeproject.com/KB/cs/svgnet.aspx) Bạn có thể sử dụng thư viện này để phân tích cú pháp SVG, sau đó sử dụng PDFJet hoặc thậm chí iTextSharp để vẽ các phần tử gốc, đường và vòng cung. – Icemanind

+0

Có vẻ như nó là một mã hóa dài và tôi không có đủ thời gian. Nhưng có vẻ như pdf có thể nhúng svg xobject nếu tôi hiểu rõ. Đối với tôi thời điểm tôi sử dụng để chuyển đổi svg với dòng lệnh inkscape và sau đó kết hợp pdf với itextsharp. Nhưng tôi không thể định vị đối tượng kết quả chính xác trên trang ...: s – Dragouf

1

webSupergoo ABCpdf cũng là một lựa chọn thương mại tốt, ít tốn kém hơn (ABCpdf Std có giá 329 đô la và ABCpdf Pro có giá 479 đô la nếu bạn muốn hỗ trợ dựng hình hoặc x64). Phiên bản 7 đã làm một công việc khủng khiếp khi xử lý các tệp SVG (nó chỉ có thể tải một tập hợp con nhỏ, thường có vấn đề), nhưng tôi hiểu (chưa thử nghiệm nó trước) phiên bản 8 (và bây giờ 9) cải thiện đáng kể sự hỗ trợ SVG của nó chuyển sang Gecko engine.

+0

Thật không may nó có hỗ trợ khủng khiếp cho Azure ... Họ nhà nước trên trang web của họ rằng người ta phải thiết lập một máy ảo. Tôi đang cố gắng di chuyển một giải pháp sử dụng 'ABCpdf' sang Azure Web App và thư viện này hiện là trở ngại duy nhất ... – Azimuth