Pdfkit python github

Cảnh báo. Phiên bản trong kho debian/ubuntu bị giảm chức năng [vì nó được biên dịch mà không có bản vá QT wkhtmltopdf], chẳng hạn như thêm đường viền, đầu trang, chân trang, TOC, v.v. Để sử dụng tùy chọn này, bạn nên cài đặt nhị phân tĩnh từ trang web wkhtmltopdf hoặc bạn có thể sử dụng tập lệnh này

Cách sử dụng

Đối với các nhiệm vụ đơn giản

import pdfkit

async def f[]:
    await pdfkit.from_url['//google.com', 'out.pdf']
    await pdfkit.from_file['test.html', 'out.pdf']
    await pdfkit.from_string['Hello!', 'out.pdf']

Bạn có thể chuyển một danh sách có nhiều URL hoặc tệp

await pdfkit.from_url[['google.com', 'yandex.ru', 'engadget.com'], 'out.pdf']
await pdfkit.from_file[['file1.html', 'file2.html'], 'out.pdf']

Ngoài ra, bạn có thể chuyển một tệp đã mở

with open['file.html'] as f:
    await pdfkit.from_file[f, 'out.pdf']

Nếu bạn muốn tiếp tục xử lý tệp PDF được tạo, bạn có thể đọc nó thành một biến

# Use False instead of output path to save pdf to a variable
pdf = await pdfkit.from_url['//google.com', False]

Bạn có thể chỉ định tất cả các tùy chọn wkhtmltopdf. Bạn có thể thả '--' vào tên tùy chọn. Nếu tùy chọn không có giá trị, hãy sử dụng Không có, Sai hoặc '' cho giá trị chính tả. Đối với các tùy chọn có thể lặp lại [bao gồm. allow, cookie, custom-header, post, postfile, run-script, replace], bạn có thể sử dụng danh sách hoặc bộ dữ liệu. Với tùy chọn cần nhiều giá trị [e. g. --custom-header Bí mật ủy quyền], 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-name1', 'cookie-value1'],
        ['cookie-name2', 'cookie-value2'],
    ],
    'no-outline': None
}

await pdfkit.from_url['//google.com', 'out.pdf', options=options]

Theo mặc định, PDFKit sẽ hiển thị tất cả đầu ra

$ sudo apt-get install wkhtmltopdf
3. Nếu bạn không muốn, bạn cần vượt qua tùy chọn
$ sudo apt-get install wkhtmltopdf
4

options = {
    'quiet': ''
    }

await pdfkit.from_url['google.com', 'out.pdf', options=options]

Do cú pháp lệnh wkhtmltopdf, các tùy chọn TOC và Cover phải được chỉ định riêng. Nếu bạn cần bảo hiểm trước TOC, hãy sử dụng tùy chọn

$ sudo apt-get install wkhtmltopdf
5

toc = {
    'xsl-style-sheet': 'toc.xsl'
}

cover = 'cover.html'

await pdfkit.from_file['file.html', options=options, toc=toc, cover=cover]
await 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 --user-style-sheet trước

$ sudo apt-get install wkhtmltopdf
0

Bạn cũng có thể chuyển bất kỳ tùy chọn nào thông qua thẻ meta trong HTML của mình

$ sudo apt-get install wkhtmltopdf
1

Cấu hình

Mỗi lệnh gọi API có một tham số cấu hình tùy chọn. Đây phải là một phiên bản của lệnh gọi API

$ sudo apt-get install wkhtmltopdf
6. 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à

  • $ sudo apt-get install wkhtmltopdf
    3 - vị trí của nhị phân
    $ sudo apt-get install wkhtmltopdf
    3. Theo mặc định,
    $ sudo apt-get install wkhtmltopdf
    9 sẽ cố gắng xác định vị trí này bằng cách sử dụng
    $ brew install caskroom/cask/wkhtmltopdf
    0 [trên các hệ thống loại UNIX] hoặc
    $ brew install caskroom/cask/wkhtmltopdf
    1 [trên Windows]
  • $ brew install caskroom/cask/wkhtmltopdf
    2 - tiền tố cho
    $ sudo apt-get install wkhtmltopdf
    9 thẻ meta cụ thể - theo mặc định, đây là
    $ brew install caskroom/cask/wkhtmltopdf
    4

Ví dụ - khi

$ sudo apt-get install wkhtmltopdf
3 không có trên
$ brew install caskroom/cask/wkhtmltopdf
6

$ sudo apt-get install wkhtmltopdf
2

Xử lý sự cố
  • $ brew install caskroom/cask/wkhtmltopdf
    7

    Đảm bảo rằng bạn có wkhtmltopdf trong $PATH hoặc được đặt qua cấu hình tùy chỉnh [xem phần trước]. nơi wkhtmltopdf trong Windows hoặc wkhtmltopdf nào trên Linux sẽ trả về đường dẫn thực tế thành nhị phân

  • $ brew install caskroom/cask/wkhtmltopdf
    8

    Lỗi này có nghĩa là PDFKit không thể xử lý đầu vào. Bạn có thể thử chạy trực tiếp một lệnh từ thông báo lỗi và xem lỗi nào gây ra lỗi [trên một số phiên bản wkhtmltopdf, điều này có thể do lỗi phân đoạn]

Chủ Đề