Hướng dẫn fpdf template python - trăn mẫu fpdf

Español: Hướng dẫn-es

  • Hướng dẫn
    • Ví dụ tối thiểu
    • Tiêu đề, chân trang, ngắt trang và hình ảnh
    • Phá vỡ dòng và màu sắc
    • Cài đặt phần ghi chú

Ví dụ tối thiểu

Tiêu đề, chân trang, ngắt trang và hình ảnh

from fpdf import FPDF

pdf = FPDF()
pdf.add_page()
pdf.set_font('Arial', 'B', 16)
pdf.cell(40, 10, 'Hello World!')
pdf.output('tuto1.pdf', 'F')

Phá vỡ dòng và màu sắc

Cài đặt phần ghi chú

Hãy bắt đầu với ví dụ kinh điển:

Thử nghiệm

Sau khi bao gồm tệp thư viện, chúng tôi tạo một đối tượng FPDF. Chất xây dựng FPDF được sử dụng ở đây với các giá trị mặc định: các trang nằm trong chân dung A4 và đơn vị đo là milimet. Nó có thể đã được chỉ định rõ ràng với:

pdf = FPDF('P', 'mm', 'A4')

pdf.set_font('Arial', 'B', 16)

Có thể sử dụng cảnh quan (L), các định dạng trang khác (như

pdf = FPDF('P', 'mm', 'A4')
0 và
pdf = FPDF('P', 'mm', 'A4')
1) và các đơn vị đo (
pdf = FPDF('P', 'mm', 'A4')
2,
pdf = FPDF('P', 'mm', 'A4')
3,
pdf = FPDF('P', 'mm', 'A4')
4).

Hiện tại không có trang nào, vì vậy chúng tôi phải thêm một trang với add_page. Nguồn gốc nằm ở góc trên bên trái và vị trí hiện tại theo mặc định được đặt ở mức 1 cm từ biên giới; Các lề có thể được thay đổi với set_margins.

pdf.cell(40, 10, 'Hello World!', 1)

Trước khi chúng ta có thể in văn bản, bắt buộc phải chọn một phông chữ với set_font, nếu không, tài liệu sẽ không hợp lệ. Chúng tôi chọn Arial Bold 16:

pdf.cell(60, 10, 'Powered by FPDF.', 0, 1, 'C')

Chúng tôi có thể đã chỉ định chữ in nghiêng với

pdf = FPDF('P', 'mm', 'A4')
5, được gạch chân bằng
pdf = FPDF('P', 'mm', 'A4')
6 hoặc phông chữ thông thường với một chuỗi trống (hoặc bất kỳ sự kết hợp nào). Lưu ý rằng kích thước phông chữ được đưa ra theo điểm, không phải milimet (hoặc đơn vị người dùng khác); Đó là ngoại lệ duy nhất. Các phông chữ tiêu chuẩn khác là
pdf = FPDF('P', 'mm', 'A4')
7,
pdf = FPDF('P', 'mm', 'A4')
8,
pdf = FPDF('P', 'mm', 'A4')
9 và
pdf.set_font('Arial', 'B', 16)
0.
: the line break can also be done with ln. This method allows to specify in addition the height of the break.

Bây giờ chúng ta có thể in một ô với ô. Một ô là một khu vực hình chữ nhật, có thể đóng khung, chứa một số văn bản. Nó là đầu ra ở vị trí hiện tại. Chúng tôi chỉ định kích thước của nó, văn bản của nó (giữa hoặc căn chỉnh), nếu nên rút ra biên giới và nơi vị trí hiện tại di chuyển theo nó (bên phải, bên dưới hoặc đến đầu dòng tiếp theo). Để thêm một khung, chúng tôi sẽ làm điều này:

Để thêm một ô mới bên cạnh nó với văn bản tập trung và chuyển sang dòng tiếp theo, chúng tôi sẽ làm:: in case when the PDF is sent to the browser, nothing else must be output, not before nor after (the least space or carriage return matters). If you send some data before, you will get the error message: "Some data has already been output to browser, can't send PDF file". If you send after, your browser may display a blank page.

Tiêu đề, chân trang, ngắt trang và hình ảnh

Phá vỡ dòng và màu sắc

from fpdf import FPDF

class PDF(FPDF):
    def header(self):
        # Logo
        self.image('logo_pb.png', 10, 8, 33)
        # Arial bold 15
        self.set_font('Arial', 'B', 15)
        # Move to the right
        self.cell(80)
        # Title
        self.cell(30, 10, 'Title', 1, 0, 'C')
        # Line break
        self.ln(20)

    # Page footer
    def footer(self):
        # Position at 1.5 cm from bottom
        self.set_y(-15)
        # Arial italic 8
        self.set_font('Arial', 'I', 8)
        # Page number
        self.cell(0, 10, 'Page ' + str(self.page_no()) + '/{nb}', 0, 0, 'C')

# Instantiation of inherited class
pdf = PDF()
pdf.alias_nb_pages()
pdf.add_page()
pdf.set_font('Times', '', 12)
for i in range(1, 41):
    pdf.cell(0, 10, 'Printing line number ' + str(i), 0, 1)
pdf.output('tuto2.pdf', 'F')

Phá vỡ dòng và màu sắc

Cài đặt phần ghi chú

Hãy bắt đầu với ví dụ kinh điển:

Thử nghiệm

Sau khi bao gồm tệp thư viện, chúng tôi tạo một đối tượng FPDF. Chất xây dựng FPDF được sử dụng ở đây với các giá trị mặc định: các trang nằm trong chân dung A4 và đơn vị đo là milimet. Nó có thể đã được chỉ định rõ ràng với:

Phá vỡ dòng và màu sắc

Cài đặt phần ghi chú

from fpdf import FPDF

title = '20000 Leagues Under the Seas'

class PDF(FPDF):
    def header(self):
        # Arial bold 15
        self.set_font('Arial', 'B', 15)
        # Calculate width of title and position
        w = self.get_string_width(title) + 6
        self.set_x((210 - w) / 2)
        # Colors of frame, background and text
        self.set_draw_color(0, 80, 180)
        self.set_fill_color(230, 230, 0)
        self.set_text_color(220, 50, 50)
        # Thickness of frame (1 mm)
        self.set_line_width(1)
        # Title
        self.cell(w, 9, title, 1, 1, 'C', 1)
        # Line break
        self.ln(10)

    def footer(self):
        # Position at 1.5 cm from bottom
        self.set_y(-15)
        # Arial italic 8
        self.set_font('Arial', 'I', 8)
        # Text color in gray
        self.set_text_color(128)
        # Page number
        self.cell(0, 10, 'Page ' + str(self.page_no()), 0, 0, 'C')

    def chapter_title(self, num, label):
        # Arial 12
        self.set_font('Arial', '', 12)
        # Background color
        self.set_fill_color(200, 220, 255)
        # Title
        self.cell(0, 6, 'Chapter %d : %s' % (num, label), 0, 1, 'L', 1)
        # Line break
        self.ln(4)

    def chapter_body(self, name):
        # Read text file
        with open(name, 'rb') as fh:
            txt = fh.read().decode('latin-1')
        # Times 12
        self.set_font('Times', '', 12)
        # Output justified text
        self.multi_cell(0, 5, txt)
        # Line break
        self.ln()
        # Mention in italics
        self.set_font('', 'I')
        self.cell(0, 5, '(end of excerpt)')

    def print_chapter(self, num, title, name):
        self.add_page()
        self.chapter_title(num, title)
        self.chapter_body(name)

pdf = PDF()
pdf.set_title(title)
pdf.set_author('Jules Verne')
pdf.print_chapter(1, 'A RUNAWAY REEF', '20k_c1.txt')
pdf.print_chapter(2, 'THE PROS AND CONS', '20k_c2.txt')
pdf.output('tuto3.pdf', 'F')

Phá vỡ dòng và màu sắc

Cài đặt phần ghi chú

Hãy bắt đầu với ví dụ kinh điển:

Hai thuộc tính tài liệu được xác định: tiêu đề (set_title) và tác giả (set_Author).Thuộc tính có thể được xem bằng hai phương tiện.Đầu tiên là mở tài liệu trực tiếp với Acrobat Reader, chuyển đến menu Tệp và chọn tùy chọn Thuộc tính tài liệu.Thứ hai, cũng có sẵn từ trình cắm, là nhấp chuột phải và chọn Thuộc tính tài liệu.

Cài đặt phần ghi chú

Trước đây, để nhập đối tượng, bạn nên sử dụng gói PYFPDF:

from pyfpdf import FPDF

Sau phiên bản 1.7, để nhập nó, bạn nên sử dụng gói FPDF:

from fpdf import FPDF