Hướng dẫn pdfkit options python - tùy chọn pdfkit trăn
Python 2 và 3 bao bọc cho tiện ích wkhtmltopdf để chuyển đổi HTML thành pdf bằng WebKit. Đây là phiên bản thích nghi của Thư viện Ruby Pdfkit, rất lớn nhờ họ! Cài đặt
Cảnh báo! Phiên bản trong repos debian/ubuntu đã giảm chức năng (vì nó được biên dịch mà không có bản vá wkhtmltopdf . Version in debian/ubuntu repos have reduced functionality (because it compiled without the wkhtmltopdf QT patches), such as adding outlines, headers, footers, TOC etc. To use this options you should install static binary from wkhtmltopdf site or you can use this script.
Cách sử dụngĐối với các nhiệm vụ đơn giản: import pdfkit pdfkit.from_url('http://google.com', 'out.pdf') pdfkit.from_file('test.html', 'out.pdf') pdfkit.from_string('Hello!', 'out.pdf') Bạn có thể truyền một danh sách với nhiều URL hoặc tệp: pdfkit.from_url(['google.com', 'yandex.ru', 'engadget.com'], 'out.pdf') pdfkit.from_file(['file1.html', 'file2.html'], 'out.pdf') Ngoài ra, bạn có thể vượt qua một tệp đã mở: with open('file.html') as f: pdfkit.from_file(f, 'out.pdf') Nếu bạn muốn xử lý thêm PDF được tạo, bạn có thể đọc nó đến một biến: # Without output_path, PDF is returned for assigning to a variable pdf = pdfkit.from_url('http://google.com') Bạn có thể chỉ định tất cả các tùy chọn WKHTMLTOPDF. Bạn có thể thả ‘ - trong tên tùy chọn. Nếu tùy chọn không có giá trị, không sử dụng không, sai hoặc ‘cho giá trị dict:. Đối với các tùy chọn lặp lại (bao gồm cho phép, cookie, tiêu đề tùy chỉnh, bài đăng, postfile, chạy kịch bản, thay thế), bạn có thể sử dụng danh sách hoặc một tuple. Với tùy chọn cần nhiều giá trị (ví dụ: Bí mật ủy quyền tiêu đề tiêu đề), chúng tôi có thể sử dụng 2-tuple (xem ví dụ bên dưới). options = { 'page-size': 'Letter', 'margin-top': '0.75in', 'margin-right': '0.75in', 'margin-bottom': '0.75in', 'margin-left': '0.75in', 'encoding': "UTF-8", 'custom-header': [ ('Accept-Encoding', 'gzip') ], 'cookie': [ ('cookie-empty-value', '""') ('cookie-name1', 'cookie-value1'), ('cookie-name2', 'cookie-value2'), ], 'no-outline': None } pdfkit.from_url('http://google.com', 'out.pdf', options=options) Theo mặc định, PDFKit sẽ chạy WKHTMLTOPDF với tùy chọn yên tĩnh, vì trong hầu hết các trường hợp, đầu ra là không cần thiết và có thể gây ra sử dụng bộ nhớ quá mức và kết quả bị hỏng. Nếu cần nhận đầu ra wkhtmltopdf, bạn nên vượt qua verbose = true cho các cuộc gọi API:wkhtmltopdf with quiet option turned on, since in most cases output is not needed and can cause excessive memory usage and corrupted results. If need to get wkhtmltopdf output you should pass verbose=True to API calls: pdfkit.from_url('google.com', 'out.pdf', verbose=True) Do cú pháp lệnh WKHTMLTOPDF, các tùy chọn TOC và bìa phải được chỉ định riêng. Nếu bạn cần nắp trước TOC, hãy sử dụng tùy chọn cover_first:TOC and Cover options must be specified separately. If you need cover before TOC, use cover_first option: toc = { 'xsl-style-sheet': 'toc.xsl' } cover = 'cover.html' pdfkit.from_file('file.html', options=options, toc=toc, cover=cover) pdfkit.from_file('file.html', options=options, toc=toc, cover=cover, cover_first=True) Bạn có thể chỉ định các tệp CSS bên ngoài khi chuyển đổi tệp hoặc chuỗi bằng tùy chọn CSS. Cảnh báo đây là một cách giải quyết cho lỗi này trong wkhtmltopdf. Bạn nên thử tùy chọn theo phong cách hàng đầu tiên. This is a workaround for this bug in wkhtmltopdf. You should try –user-style-sheet option first. $ sudo apt-get install wkhtmltopdf0 Bạn cũng có thể vượt qua bất kỳ tùy chọn nào thông qua các thẻ meta trong HTML của bạn: $ sudo apt-get install wkhtmltopdf1 Cấu hìnhMỗi cuộc gọi API có một tham số cấu hình tùy chọn. Đây phải là một ví dụ của pdfkit.configuration () cuộc gọi API. Nó lấy các tùy chọn cấu hình làm tham số ban đầu. Các tùy chọn có sẵn là:pdfkit.configuration() API call. It takes the configuration options as initial paramaters. The available options are:
Ví dụ - vì khi wkhtmltopdf không có trên đường dẫn $:wkhtmltopdf is not on $PATH: $ sudo apt-get install wkhtmltopdf2 Ngoài ra, bạn có thể sử dụng Cấu hình () CALL để kiểm tra xem WKHTMLTOPDF có mặt trong $ PATH:configuration() call to check if wkhtmltopdf is present in $PATH: $ sudo apt-get install wkhtmltopdf3 Xử lý sự cốVấn đề gỡ lỗi với thế hệ pdfNếu bạn đang vật lộn để tạo PDF chính xác trước tiên, bạn nên kiểm tra đầu ra wkhtmltopdf cho một số manh mối, bạn có thể nhận được nó bằng cách chuyển Verbose = true cho các cuộc gọi API:wkhtmltopdf output for some clues, you can get it by passing verbose=True to API calls: $ sudo apt-get install wkhtmltopdf4 Nếu bạn nhận được kết quả kỳ lạ trong PDF hoặc một số tùy chọn có vẻ như bị bỏ qua, bạn nên cố gắng chạy WKHTMLTOPDF trực tiếp để xem nó có tạo ra kết quả tương tự không. Bạn có thể nhận lệnh CLI bằng cách tạo trực tiếp lớp pdfkit.pdfkit và sau đó gọi phương thức lệnh () của nó:wkhtmltopdf directly to see if it produces the same result. You can get CLI command by creating pdfkit.PDFKit class directly and then calling its command() method: $ sudo apt-get install wkhtmltopdf5 Lỗi thông thường:
Thay đổi
|