2012-05-15 34 views
6

Tôi có một ứng dụng tạo ra một khối svg cơ bản có kích thước khoảng 300 x 150px. Tôi cần phải lặp lại gạch này, sao cho tôi có thể tạo bản in đẹp trên hai trang A4 hoặc một trang A3. Vì vậy, về cơ bản, tôi chỉ làm bố trí trang 101, trong svg chứ không phải là Photoshop/bất cứ điều gì.Tạo và chia tỷ lệ SVG cho đầu ra máy in

Có ai có thể cho tôi bất kỳ gợi ý nào về cách bắt đầu điều này không? Tại thời điểm này, tôi đang làm nó rất ngây thơ:

  1. bộ canvas lớn, khoảng 1500 x 1500px
  2. lặp lại trong các gạch 4 x 6 lần trong JavaScript
  3. in từ trình duyệt

Điều này dễ hiểu hơn nhưng có vẻ không tốt. Nó sẽ giúp để thiết lập một canvas với kích thước vật lý của một trang A4? Nếu tôi làm điều này, sau đó tôi có vấn đề là gạch là một đồ họa phức tạp mà tôi hiện đã tạo bằng cách sử dụng các đơn vị pixel. Ngay cả khi tôi làm điều này, trình duyệt có lẽ sẽ bỏ qua kích thước canvas. Hay tôi nên chuyển đổi sang pdf trước? Nếu tôi làm điều này, tôi vẫn cần phải tìm hiểu cách thiết lập một trang svg '' sẽ chuyển đổi tốt sang định dạng pdf. Và có bất kỳ công cụ nào thực sự hỗ trợ trang svg 1.2 không?

Lưu ý rằng tôi không thể sử dụng Inkscape, vì mã svg của tôi hoàn toàn là JavaScript.

+0

Bạn có thể cung cấp một số ảnh chụp màn hình để cho thấy cách mà nó trông không tốt? Nếu bạn có thể cung cấp một jsfiddle đó sẽ là lý tưởng, như mọi người có thể có được một cảm giác cho những gì đang xảy ra sai. Ngoài ra, bạn chuyển đổi từ SVG sang PDF như thế nào? Có lẽ bạn đang làm điều đó bit trên máy chủ? – halfer

+0

Hãy tưởng tượng một tài liệu Word được in trên A4, trong đó văn bản 10pt xuất hiện dưới dạng 14pt, lề phải là cách tắt và trong đó ngắt trang đã bị mất và bạn đang ở đó. Tôi đã không thử chuyển đổi pdf trước khi đăng bài, nhưng bây giờ tôi đã thử wkhtmltopdf. Nếu tôi thiết lập canvas là 297x210mm, và chạy wkhtmltopdf mà không cần mở rộng thông minh, và với không lề, đầu ra sẽ vừa với một trang A4, mặc dù không hoàn toàn tập trung. Vấn đề sau đó là tìm một cái gì đó để thiết lập viewbox đó là hợp lý và cho phép tôi thiết kế theo pixel. Tôi nghĩ rằng tôi có thể phải từ bỏ điểm ảnh và di chuyển đến pts và cm. – EML

Trả lời

1

Không sử dụng canvas cho mục đích này!

Điểm SVG là đồ họa có thể mở rộng. Bạn chỉ có thể tự mở rộng SVG trong trình duyệt và sau đó in từ đó.

Nếu bạn muốn mở rộng SVG sau đó tất cả các bạn phải làm là một trong hai áp dụng một quy mô CSS:

http://jsfiddle.net/simonsarris/xYZyf/

Hoặc một quy mô SVG:

http://jsfiddle.net/simonsarris/xYZyf/1/

+0

Quy mô CSS dường như không hoạt động trong trình duyệt dựa trên webkit kể từ tháng 7 năm 2014 –

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