2013-01-11 28 views
5

Tôi có ứng dụng HTML5/CSS/JS ngoại tuyến được tạo bằng TideSDK trong đó biểu đồ thanh được vẽ bằng Highcharts dưới dạng thẻ SVG "" bằng dữ liệu do người dùng nhập. Tôi cần xuất biểu đồ này trong tài liệu PDF, cũng sẽ chứa văn bản và bảng.Xuất SVG sang PDF trong ứng dụng web TideSDK ngoại tuyến

Vì đây là ứng dụng ngoại tuyến, tôi không thể sử dụng mô-đun xuất có trong Highcharts (ngoại trừ phương thức getSVG()) hoặc các giải pháp khác như DocRaptor.

Tôi đang mở để sử dụng một plugin JS khác để vẽ biểu đồ, nhưng tôi thực sự yêu "giao diện" và các tính năng của biểu đồ Highcharts.

Như bạn có thể biết, với TideSDK tôi có thể nhúng Python, PHP hoặc Perl script/modules trong ứng dụng của tôi (tôi thích tránh Perl như tôi chưa bao giờ sử dụng nó).

Giới hạn khác là tôi không thể yêu cầu người dùng cuối cùng cài đặt phần mềm khác so với của tôi, vì vậy tôi không thể sử dụng wkhtmltopdf với PHP. Ngoại trừ nếu tôi quản lý để cài đặt nó thông qua ứng dụng của tôi trong một quá trình minh bạch (không chắc chắn nó là đặc biệt dễ dàng để làm).

Sau khi tìm kiếm trong vài ngày, ý tưởng cuối cùng của tôi là sử dụng mô-đun Python CairoSVG để xuất biểu đồ trong tệp PDF đầu tiên. Sau đó, tôi sẽ tìm thấy một công cụ JS (jsPDF) hoặc Python để bao gồm tệp PDF này trong PDF cuối cùng chứa văn bản và bảng.

Tôi sẽ sớm bắt đầu kiểm tra giải pháp này và cho bạn biết nếu tôi quản lý nó. Tuy nhiên, nếu một số bạn đã phải quản lý một vấn đề tương tự, tôi sẽ rất vui khi nghe các giải pháp của bạn.

Ứng dụng sẽ chạy, lần đầu tiên, trên nền tảng Windows và phải được điều chỉnh cho MacOS, Linux, Android và iOS trong các giai đoạn sau.

+0

Bạn có đang triển khai cho VPS hoặc máy chủ chuyên dụng không? Nếu vậy, bạn có thể chạy 'aptget' hoặc' yum' bên trong PHP để cài đặt các tệp thực thi bạn cần, với người dùng cuối của bạn nhập mật khẩu gốc thông qua ứng dụng của bạn. – halfer

+0

Nếu cách tiếp cận đó là có thể, sau đó tôi đưa ra một đề nghị cho Inkscape trên dòng lệnh - nó thực hiện một công việc chuyển đổi tuyệt vời. – halfer

+0

@halfer Nó có thể là một ý tưởng thực sự tốt, nhưng các ứng dụng sẽ được triển khai như một exe cung cấp cho khách hàng và cài đặt trong chế độ offline bởi một admin. Hơn nữa, ứng dụng chạy trên nền tảng Windows. Tôi quên đề cập đến nó trong bài viết đầu tiên, bây giờ chỉnh sửa. Cảm ơn ý tưởng. – AnteKrysto

Trả lời

0

Có công cụ dòng lệnh đơn giản (wkhtml to pdf), cho phép bạn chuyển đổi các trang html thành tệp pdf. Nó không hoàn toàn python/js giải pháp, nhưng bạn có thể gọi os.system() hoặc một cái gì đó tương tự từ python để sử dụng nó. Nó đã giúp tôi với chương trình python của tôi và nó rất đơn giản để sử dụng. Command là "tên đầu vào wkhtmltopdf.exe inputname" và bạn nhận được những gì bạn muốn. Và phần mềm miễn phí của nó. Trang web: https://code.google.com/p/wkhtmltopdf/

+0

Cảm ơn câu trả lời của bạn, nhưng có vẻ như wkhtmltopdf cần được cài đặt trước và, như tôi đã chỉ ra trong câu hỏi và nhận xét, tôi muốn tránh bất kỳ cài đặt công cụ bên ngoài nào. – AnteKrysto

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