Ví dụ javascript về wkhtmltopdf

Làm cách nào tôi có thể chạy mã javascript, tệp css và tệp javascript vào wkhtmltopdf trong asp. dự án api lõi mạng?

Tôi sử dụng biểu đồ. js để vẽ biểu đồ, nhưng tôi sử dụng thư viện wkhtmltopdf để chuyển đổi pdf. Nhưng mã javascrip và mã css của tôi không hoạt động. Làm thế nào tôi có thể làm cho nó hoạt động?

dotnet-aspnet-Generaldotnet-aspnet-core-webapidotnet-aspnet-core-razor

Nhận xét · Hiển thị 5

Bình luận

5. Cần 1600 ký tự còn lại ký tự

Chuyển đổi chế độ hiển thị Nhận xét. Hiển thị hiện tại. Hiển thị với tất cả người dùng

tệp đính kèm. Có thể sử dụng tối đa 10 tệp đính kèm (bao gồm cả hình ảnh) với tối đa 3. 0 MiB mỗi cái và 30. tổng cộng 0 MiB

WKHTMLTOPDF là một công cụ cực kỳ phổ biến để chuyển đổi các trang html (hoặc chuỗi) hiện có thành PDF. Điều này có ích cho sản phẩm Tutela của CyberSift, nơi chúng tôi được yêu cầu tạo báo cáo PDF theo chương trình. Một khía cạnh quan trọng của các báo cáo này là đồ thị và biểu đồ để dễ dàng hình dung dữ liệu hơn. Khi sử dụng các thư viện biểu đồ mới hơn, chúng tôi kết thúc bằng các trang trống thay vì biểu đồ

Để xây dựng một số ngữ cảnh, giả sử chúng ta có tệp GoLang sau đây

  • Sử dụng thư viện “go-wkhtmltopdf” để biến html thành pdf
  • Các dòng 54-55 cho thấy việc thêm một câu đơn giản “Xin chào” dễ dàng như thế nào. ” đến một trang trong pdf
  • Dòng 57 trỏ đến một hàm sử dụng thư viện “go-echarts”. Thư viện golang này xuất ra một trang html, trang này lần lượt chứa thư viện Javascript Apache eCharts thực tế để tạo biểu đồ. Tệp html được lưu tạm thời trên đĩa ở dòng 59
  • Ở dòng 65, chúng tôi tiến hành thêm trang html đã tạo này vào tệp PDF của mình bằng cách sử dụng wkhtmltopdf

Tệp này chứa văn bản Unicode hai chiều có thể được diễn giải hoặc biên dịch khác với nội dung hiển thị bên dưới. Để xem lại, hãy mở tệp trong trình chỉnh sửa hiển thị các ký tự Unicode bị ẩn. Tìm hiểu thêm về các ký tự Unicode hai chiều

một nút. js cho công cụ dòng lệnh wkhtmltopdf. Đúng như tên gọi, nó chuyển đổi tài liệu HTML thành PDF bằng WebKit

Cài đặt

Trước tiên, bạn cần cài đặt công cụ dòng lệnh wkhtmltopdf trên hệ thống của mình

Cách dễ nhất để thực hiện việc này là sử dụng phiên bản dựng sẵn cho hệ thống của bạn. KHÔNG cố gắng sử dụng các gói do bản phân phối của bạn cung cấp vì chúng có thể không sử dụng Qt đã vá lỗi và thiếu các tính năng

Cuối cùng, để cài đặt mô-đun nút, hãy sử dụng npm

npm install wkhtmltopdf

Đảm bảo công cụ dòng lệnh wkhtmltopdf có trong PATH của bạn khi bạn cài đặt xong. Nếu bạn không muốn làm điều này vì lý do nào đó, bạn có thể thay đổi thuộc tính require('wkhtmltopdf').command thành đường dẫn đến công cụ dòng lệnh wkhtmltopdf

Cách sử dụng

wkhtmltopdf(nguồn, [tùy chọn], [gọi lại]);

var wkhtmltopdf = require('wkhtmltopdf');

// URL
wkhtmltopdf('http://google.com/', { pageSize: 'letter' })
  .pipe(fs.createWriteStream('out.pdf'));
  
// HTML
wkhtmltopdf('

Test

Hello world

'
) .pipe(res); // Stream input and output var stream = wkhtmltopdf(fs.createReadStream('file.html')); // output to a file directly wkhtmltopdf('http://apple.com/', { output: 'out.pdf' }); // Optional callback wkhtmltopdf('http://google.com/', { pageSize: 'letter' }, function (err, stream) { // do whatever with the stream }); // Repeatable options wkhtmltopdf('http://google.com/', { allow : ['path1', 'path2'], customHeader : [ ['name1', 'value1'], ['name2', 'value2'] ] }); // Ignore warning strings wkhtmltopdf('http://apple.com/', { output: 'out.pdf', ignore: ['QFont::setPixelSize: Pixel size <= 0 (0)'] }); // RegExp also acceptable wkhtmltopdf('http://apple.com/', { output: 'out.pdf', ignore: [/QFont::setPixelSize/] });

wkhtmltopdf chỉ là một hàm mà bạn gọi bằng một URL hoặc một chuỗi HTML nội tuyến và nó trả về một luồng mà bạn có thể đọc từ đó hoặc chuyển đến bất cứ nơi nào bạn muốn (e. g. tệp hoặc phản hồi HTTP)

Tùy chọn

Có nhiều tùy chọn có sẵn cho wkhtmltopdf. Tất cả các tùy chọn dòng lệnh đều được hỗ trợ dưới dạng tài liệu trên trang được liên kết ở trên. Các tùy chọn là camelCased thay vì gạch ngang như trong công cụ dòng lệnh. Lưu ý rằng các tùy chọn không có giá trị, phải được chỉ định dưới dạng boolean, e. g. gỡ lỗiJavascript. thật

Ngoài ra còn có một tùy chọn output có thể được sử dụng để ghi đầu ra trực tiếp vào tên tệp, thay vì trả về một luồng

Tùy chọn gỡ lỗi

Ngoài tùy chọn debugJavascript từ wkhtmltopdf, còn có một tùy chọn bổ sung là gỡ lỗi và gỡ lỗiStdOut sẽ giúp bạn gỡ lỗi các sự cố kết xuất bằng cách xuất dữ liệu ra bảng điều khiển. bản in gỡ lỗi và thông báo lỗi chuẩn trong khi debugStdOut in bất kỳ thông báo cảnh báo lỗi chuẩn nào

bài kiểm tra

Chạy npm test và kiểm tra thủ công xem các tệp được tạo có giống như các tệp dự kiến ​​không. Bộ đồ kiểm tra in đường dẫn của các tệp cần so sánh