Javascript của 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

Bình luận

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

Bình luận

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

  • Hiển thị cho tất cả người dùng
  • Hiển thị với người đăng gốc & Microsoft
  • Người kiểm duyệt có thể xem
  • Có thể xem bởi người kiểm duyệt và người đăng gốc
  • Khả năng hiển thị nâng cao
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

Phân tích sâu hơn về trạng thái bảo trì của wkhtmltopdf-nodejs-pdfapi dựa trên nhịp phiên bản npm đã phát hành, hoạt động của kho lưu trữ và các điểm dữ liệu khác đã xác định rằng việc bảo trì của nó là Không hoạt động

Một tín hiệu bảo trì dự án quan trọng cần xem xét đối với wkhtmltopdf-nodejs-pdfapi là nó không thấy bất kỳ phiên bản mới nào được phát hành cho npm trong 12 tháng qua và có thể được coi là dự án đã ngừng hoạt động hoặc dự án ít nhận được sự chú ý từ những người bảo trì dự án

Trong tháng trước, chúng tôi không tìm thấy bất kỳ hoạt động yêu cầu kéo nào hoặc thay đổi trạng thái vấn đề đã được phát hiện đối với kho lưu trữ GitHub

PDFKit là thư viện tạo tài liệu PDF dành cho Node và trình duyệt giúp việc tạo các tài liệu phức tạp, nhiều trang, có thể in được trở nên dễ dàng. Mã sau sẽ tạo một tài liệu PDF đơn giản với một số văn bản.

var PDFDocument, doc;

var fs = require["fs"];

PDFDocument = require['pdfkit'];

doc = new PDFDocument;

doc.pipe[fs.createWriteStream['output.pdf']];

doc.fontSize[25].text['Some text with an embedded font!', 100, 100];

doc.addPage[].fontSize[25].text['Here is some vector graphics...', 100, 100];

doc.save[].moveTo[100, 150].lineTo[100, 250].lineTo[200, 250].fill["#FF3300"];

doc.scale[0.6].translate[470, -380].path['M 250,75 L 323,301 131,161 369,161 177,301 z'].fill['red', 'even-odd'].restore[];

doc.addPage[].fillColor["blue"].text['Here is a link!', 100, 100].underline[100, 100, 160, 27, {
  color: "#0000FF"
}].link[100, 100, 160, 27, '//google.com/'];

doc.end[];

Chà, điều đó sẽ tạo tệp

sudo apt-get install wkhtmltopdf
3 trong đường dẫn mà bạn thực thi tập lệnh. Tuy nhiên, về chức năng, tôi không muốn vẽ các biểu đồ phức tạp bằng mã đó, không

Một giải pháp thay thế cho biểu đồ được tạo phía máy chủ, là tạo biểu đồ bằng Javascript [phía máy khách]. Có rất nhiều thư viện Javascript cho phép tạo các biểu đồ ưa thích và bạn có thể truy xuất SVG của nó [hoặc hình ảnh base64] và gửi lại cho máy chủ để đưa chúng vào dưới dạng hình ảnh trong tệp PDF của bạn. Nghe có vẻ hay và thiết thực, tuy nhiên có một nhược điểm với giải pháp này. SVG sẽ thay đổi và sẽ gây ra sự cố với kích thước sau này trong tệp PDF của bạn tùy theo độ phân giải của màn hình người dùng của bạn hoặc kích thước của cửa sổ trình duyệt

Một số ứng dụng web, như một giải pháp, sẽ tạo chế độ xem html dưới dạng phản hồi trong trình duyệt [sẽ hiển thị biểu đồ ưa thích của bạn] và người dùng sẽ cần sử dụng [và biết cách] Trình duyệt để lưu [hoặc in] nội dung dưới dạng PDF. Tuy nhiên, với tư cách là người dùng, bạn có thể chỉ muốn tải xuống tệp PDF bằng một nút duy nhất, chọn nơi bạn muốn lưu tệp đó và chỉ vậy thôi.  

Vấn đề ở khắp mọi nơi, nhưng đó là nơi mà

sudo apt-get install wkhtmltopdf
4 có ích, vì bạn sẽ có thể viết css, html và javascript giống như cách bạn làm trên một trang web [rõ ràng là có một số hạn chế và tối thiểu] và tệp PDF của bạn sẽ trông tuyệt vời

Trong bài viết này, bạn sẽ tìm hiểu cách tạo tệp PDF bằng cách sử dụng wkhtmltopdf trong Node của bạn. dự án js

Yêu cầu

Bạn sẽ cần _____ 14 có sẵn trong hệ thống của mình và có thể truy cập được trong dấu nhắc lệnh. wkhtmltopdf là một công cụ dòng lệnh để kết xuất HTML thành PDF và các định dạng hình ảnh khác nhau bằng công cụ kết xuất Qt WebKit. Chúng chạy hoàn toàn "không đầu" và không yêu cầu dịch vụ hiển thị hoặc hiển thị

  • các cửa sổ. bạn có thể tải xuống trình cài đặt cho từng kiến ​​trúc [x86 và x64] trong khu vực cài đặt. Mặc dù bạn có thể thay đổi đường dẫn của tệp thực thi wkhtmltopdf sau này trong phần cấu hình. yml, bạn nên sử dụng
    sudo apt-get install wkhtmltopdf
    4 dưới dạng biến môi trường trên hệ thống của mình [nếu không muốn tạo biến môi trường cho wkhtmltopdf, thì bạn có thể cung cấp toàn bộ đường dẫn đến tệp thực thi sau]. Bạn có thể đọc cách tạo biến môi trường trong windows ở bài viết này
  • Debian/Ubuntu. Bạn có thể cài đặt bản phân phối từ wkhtmltopdf trực tiếp trong bảng điều khiển bằng lệnh sau
sudo apt-get install wkhtmltopdf

Khi bạn chắc chắn rằng mình đã cài đặt wkhtmltopdf trên hệ thống của mình, hãy tiếp tục sử dụng trong Node. js

Thực hiện

Để xử lý wkhtmltopdf từ Node. js, chúng ta cần dựa vào mô-đun của bên thứ ba. Mô-đun wkhtmltopdf cung cấp trình bao bọc hữu ích cho hướng dẫn dòng lệnh cho wkhtmltopdf để tạo tệp PDF từ Nút. js, để cài đặt mô-đun này, hãy thực hiện lệnh sau trong thiết bị đầu cuối

npm install wkhtmltopdf

Sau khi cài đặt, bạn sẽ có thể yêu cầu mô-đun wkhtmltopdf bằng cách sử dụng 

sudo apt-get install wkhtmltopdf
2

Đảm bảo rằng công cụ dòng lệnh

sudo apt-get install wkhtmltopdf
4 nằm trong ĐƯỜNG DẪN 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
sudo apt-get install wkhtmltopdf
4 thành đường dẫn đến
sudo apt-get install wkhtmltopdf
4 command line tool:

var wkhtmltopdf = require['wkhtmltopdf'];
// If you don't have wkhtmltopdf in the PATH, then provide
// the path to the executable [in this case for windows would be]:
wkhtmltopdf.command = "C:\\Program Files\\wkhtmltopdf\\bin\\wkhtmltopdf.exe";

Và sau đó bạn sẽ có thể làm việc bình thường với wkhtmltopdf trong Node. js

Tạo PDF từ một trang web

Cung cấp một URL web [với giao thức http hoặc https] làm tham số đầu tiên để hiển thị trang web dưới dạng PDF và cung cấp đường dẫn đầu ra

var wkhtmltopdf = require['wkhtmltopdf'];

wkhtmltopdf['//ourcodeworld.com', { 
    output: 'ourcodeworld.pdf',
    pageSize: 'letter'
}];

Tạo PDF từ tệp html

Để tạo tệp PDF từ nội dung của tệp html, hãy cung cấp mã HTML được lấy từ tệp bằng phương pháp

sudo apt-get install wkhtmltopdf
6

________số 8

Trong ví dụ này, tệp html sẽ là

sudo apt-get install wkhtmltopdf
7 và nó có nội dung như sau

sudo apt-get install wkhtmltopdf
0

Và việc thực thi mã nút sẽ tạo ra một tệp

sudo apt-get install wkhtmltopdf
8 và nó sẽ giống như

Tạo PDF từ chuỗi html

Cũng giống như cách bạn thực hiện để hiển thị tệp PDF từ tệp HTML, chỉ cần cung cấp chuỗi HTML làm tham số đầu tiên

sudo apt-get install wkhtmltopdf
2

Ghi chú. trong trường hợp bạn muốn trả lại tệp PDF dưới dạng phản hồi, vì bạn đang sử dụng Node. js với máy chủ http, bạn chỉ cần tạo tệp và trả lại tệp dưới dạng phản hồi

Chủ Đề