Con trăn Fpdf với utf-8

Menu Cách sử dụng các ký tự đặc biệt trong FPDF 24 Tháng chín 2008 trên php, Nhà phát triển. FPDF là một thư viện nhỏ đẹp cho php cho phép bạn tạo các tệp PDF một cách nhanh chóng. Thật tuyệt vời cho tất cả các loại tài liệu, trong số đó có hóa đơn

FPDF - Tập lệnh cho các ký tự đặc biệt. Ý chính GitHub. chia sẻ ngay lập tức mã, ghi chú và đoạn trích

Nhập một ký tự đặc biệt bằng cách sử dụng đầu vào mã thập lục phân Trong Microsoft Windows Các ký tự Unicode có thể được nhập bằng cách giữ phím Alt , nhấn + trên bàn phím số, theo sau là mã hex – sử dụng bàn phím số cho các chữ số từ 0 đến 9 và các phím chữ cái

mPDF là một thư viện PHP tạo các tệp PDF từ HTML được mã hóa UTF-8. Nó dựa trên FPDF và HTML2FPDF, với một số cải tiến

FPDF là một lớp PHP cho phép tạo các tệp PDF bằng PHP thuần túy, nghĩa là không cần sử dụng thư viện PDFlib. F từ FPDF là viết tắt của Miễn phí. bạn có thể sử dụng nó cho bất kỳ hình thức sử dụng nào và sửa đổi nó cho phù hợp với nhu cầu của bạn

Danh sách các ký hiệu Tam giác với thực thể html, mã số unicode. Tìm hiểu cách tạo hơn 43 ký hiệu Tam giác toán học, sao chép và dán ký tự văn bản

Đôi khi ký tự đặc biệt là dấu trọng âm phía trên một chữ cái như thế này á. Hoặc, ký tự đặc biệt có thể là đường vẫy phía trên chữ n trông như thế này và thay đổi âm n sao cho nó nghe giống như tổ hợp chữ cái "ny" trong từ tiếng Anh canyon

Hiển thị hoạt động trên bài đăng này. Không sử dụng mã hóa UTF-8. Phông chữ FPDF tiêu chuẩn sử dụng ISO-8859-1 hoặc Windows-1252. Có thể thực hiện chuyển đổi sang ISO-8859-1 với utf8_decode[]. $str = utf8_decode [$str];

Ví dụ này sử dụng một số phông chữ miễn phí để hiển thị một số chuỗi Unicode. Đảm bảo cài đặt phông chữ trong thư mục phông chữ trước. #. /usr/bin/env python # -*- mã hóa. utf8 -*- từ fpdf nhập FPDF pdf = FPDF[] pdf. add_page[] # Thêm phông chữ DejaVu Unicode [sử dụng UTF-8] # Hỗ trợ hơn 200 ngôn ngữ

Trong bài viết này, tôi sẽ chỉ cho bạn cách tạo PDF bằng Python với thư viện FPDF. Theo mặc định, FPDF chỉ hỗ trợ một số ngôn ngữ nhất định, vì vậy tôi cũng sẽ thực hiện các bước cần thiết để sử dụng nhiều ngôn ngữ hơn với FPDF

Kết quả học tập

  1. FPDF, PyFPDF và tFPDF là gì?
  2. Các chức năng cơ bản của FPDF với Python
  3. Hỗ trợ đa ngôn ngữ trong FPDF
  4. Tạo một tệp PDF đơn giản với tôi trong bài viết này

Nguồn. https. // giải phóng. com/FPDF là gì?

FPDF là một lớp PHP cho phép tạo các tệp PDF bằng PHP thuần túy. F từ FPDF là viết tắt của Miễn phí. bạn có thể sử dụng nó cho bất kỳ hình thức sử dụng nào và sửa đổi nó cho phù hợp với nhu cầu của bạn. Nó là một lựa chọn khá phổ biến để tạo PDF

PyFPDF

Được chuyển từ PHP FPDF, PyFPDF là một thư viện để tạo tài liệu PDF trong Python. Đây là thư viện chúng ta sẽ cài đặt và sử dụng. Các chức năng cơ bản được giải thích bên dưới cũng đến từ thư viện này

tFPDF

Phiên bản sửa đổi của FPDF bổ sung hỗ trợ UTF-8 để tạo tài liệu bằng nhiều ngôn ngữ miễn là bạn cung cấp phông chữ. Bạn sẽ yêu cầu cài đặt PHP trong máy của mình để sử dụng lớp PHP này

Nếu bạn muốn xem ngay cách thêm các ngôn ngữ khác vào tệp PDF của mình, hãy truy cập

Những đặc điểm chính

FPDF cung cấp danh sách các chức năng cấp cao sẵn sàng sử dụng

  • Lựa chọn đơn vị đo lường, định dạng trang và lề
  • Quản lý đầu trang và chân trang
  • Ngắt trang tự động
  • Tự động ngắt dòng và căn chỉnh văn bản
  • Hỗ trợ hình ảnh [JPEG, PNG và GIF]
  • Màu sắc
  • liên kết
  • Hỗ trợ TrueType, Type1 và mã hóa
  • nén trang

Trong phần này, tôi sẽ chỉ cho bạn cách cài đặt FPDF và sử dụng các chức năng cơ bản của nó, mở một tệp Python mới và làm theo

Nguồn. gfycat. com

Cài đặt

$ pip install fpdf

Bắt đầu một FPDF

Trong tệp python, trước tiên chúng tôi sẽ nhập và tạo một đối tượng FPDF

from fpdf import FPDF

pdf = FPDF['P', 'mm', 'A4']
pdf.add_page[]
pdf.set_margins[0, 0, 0]

Đối tượng FPDF ở trên sử dụng các giá trị mặc định. các trang được in dọc với đơn vị đo là milimét và định dạng A4. Bạn có thể sử dụng khổ ngang [L], đơn vị đo lường [pt, cm, in] và các định dạng trang khác [chẳng hạn như Letter và Legal]

Sau đó, chúng tôi thêm một trang mới với pdf. thêm trang[]. Điểm 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 cách đường viền 1 cm. Có thể thay đổi lề bằng pdf. set_margins[]

Tạo PDF

pdf.output['sample.pdf', 'F']

Lưu tệp PDF vào tệp cục bộ với tên đã cho 'mẫu. pdf'. Thực hiện theo các bước bên dưới và chạy lại tệp python để thấy sự khác biệt khi các dòng mới được thêm vào

Nếu bạn tạo tệp PDF lần đầu tiên, có thể mất một chút thời gian, lần sau sẽ nhanh hơn

Luôn đặt dòng này ở cuối mã của bạn

Thêm dòng đầu tiên của bạn trong PDF

pdf.set_font['Arial', 'B', 14]
pdf.cell[w = 40, h = 10, 'Hello World!', border = 0, ln = 1, align = '', fill = False, link = '']

Trước khi chúng tôi có thể in văn bản, bắt buộc phải chọn phông chữ với pdf. bộ_phông chữ[]. Chúng tôi có thể chỉ định chữ nghiêng với I, gạch chân với U và thậm chí cả chữ nghiêng và chữ đậm với BI. Các phông chữ tiêu chuẩn khác là Times, Courier, Symbol và ZapfDingbats

Một ô là một khu vực hình chữ nhật có thể chứa nội dung. Chúng tôi chỉ định kích thước của nó [w, h], văn bản của nó, nếu đường viền sẽ được vẽ, vị trí hiện tại di chuyển sau nó [sang phải, bên dưới hoặc đầu dòng tiếp theo], căn chỉnh văn bản, tô màu,

Thêm dòng mới

pdf.set_font['Times', '', 12]
pdf.cell[210, 10, 'Powered by FPDF.', 0, 0, 'C']

Sau đó, hãy thêm một dòng mới với phông chữ khác. Ô mới sẽ ở dòng tiếp theo như chúng ta đã có

from fpdf import FPDF

pdf = FPDF['P', 'mm', 'A4']
pdf.add_page[]
pdf.set_margins[0, 0, 0]
4 ở bản pdf trước. cell[] xác định vị trí của dòng tiếp theo. Ngoài ra, nó được căn giữa trong kích thước ô của nó mà không có đường viền

Quản lý vị trí văn bản của bạn

pdf.set_font['Arial', '', 12]
pdf.ln[50]
pdf.cell[85]
pdf.cell[0, 0, 'We have a new line.', 0]

Để chuyển sang dòng tiếp theo, cá nhân tôi thích sử dụng ln cho phép bạn chỉ định chiều cao của dấu ngắt. Nếu bạn để ý, bản pdf. ln[] và pdf. cell[] thực sự bắt đầu đếm từ vị trí trên cùng bên trái của dòng thứ hai, 'Được cung cấp bởi FPDF. ' Bản pdf. ln[] và pdf. ô [] đang hoạt động giống như một con trỏ mà nó bắt đầu từ nơi nó đang trỏ đến và di chuyển đến phần tiếp theo với chiều cao và chiều rộng được chỉ định bởi pdf. ln[] và pdf. tế bào[]

Đó là một cách hay để định vị văn bản của bạn nếu bạn muốn tạo một tệp pdf phức tạp như biên lai với các văn bản không được sắp xếp theo từng dòng. Nhưng nếu bạn chỉ muốn tạo một tài liệu gọn gàng với một số văn bản và có lẽ là hình ảnh, bạn có thể dễ dàng thực hiện việc đó bằng cách chỉ định vị trí của dòng tiếp theo trong pdf. đối số ô []

Ngoài ra, một mẹo để đo vị trí của văn bản nếu bạn đã có mẫu giả là sử dụng thước kẻ trong trình soạn thảo word

Thêm hình ảnh

pdf.image['cat_in_the_snow.jpg', x = 85, y = 32.5, w = 40, h = 0, type = '', link = '']

Chúng tôi sẽ chỉ định tọa độ [x, y] của góc trên cùng bên trái cho hình ảnh. Ngoài ra, chiều rộng của hình ảnh [w], chiều cao của nó sẽ được tính tự động nếu không được chỉ định

Vẽ đường thẳng

________số 8

Khá dễ dàng để vẽ đường bằng FPDF, chúng ta chỉ cần xác định tọa độ, [x1, y1] và [x2, y2], của hai điểm cuối của đường

Lưu ý rằng cả hình ảnh và dòng không bị ảnh hưởng bởi pdf. ln[] và pdf. ô [] vị trí trỏ hiện tại. Chúng sẽ chỉ ảnh hưởng đến vị trí của các ô

Vẽ hình chữ nhật hoặc hình elip

pdf.rect[x = 80, y = 20, w = 50, h = 55, style = '']

Vẽ một hình chữ nhật mà không cần bất kỳ nỗ lực nào bằng cách đặt vị trí trên cùng bên trái [x, y] và kích thước [w, h] của hình chữ nhật của bạn. Ngoài ra, vẽ một ô có viền cũng sẽ làm như vậy, cả hai đều có thể tô màu

Vẽ [D] là kiểu mặc định, bạn có thể thay đổi kiểu bằng cách tô [F] hoặc vẽ và tô [DF hoặc FD]

Tương tự, bạn có thể vẽ hình elip bằng pdf. hình elip[]

Đặt màu

from fpdf import FPDF

pdf = FPDF['P', 'mm', 'A4']
pdf.add_page[]
pdf.set_margins[0, 0, 0]
0

Chúng ta có thể đặt màu cho ô, dòng hoặc hình sau bằng mã ở trên

Đó là tất cả những gì tôi sẽ trình bày về các chức năng cơ bản của FPDF, nếu bạn cần thêm tài nguyên để làm những gì bạn cần, hãy xem hướng dẫn tham khảo của PyFPDF

Trước khi chúng ta chuyển sang phần cuối cùng, hãy tạo một đường viền popcat

from fpdf import FPDF

pdf = FPDF['P', 'mm', 'A4']
pdf.add_page[]
pdf.set_margins[0, 0, 0]
0

Nguồn. người bắt khỉ. com

Cuối cùng, hãy nói về cách bạn có thể sử dụng nhiều ngôn ngữ trong PDF

Kích hoạt các ngôn ngữ khác

Nếu bạn đang tìm giải pháp để làm việc với đa ngôn ngữ trong FPDF, bạn có thể gặp phải vấn đề là văn bản được in ra là một danh sách các hình chữ nhật ▯▯▯▯ trong khi nội dung bạn muốn hiển thị là bốn chữ cái, ví dụ:. “欢迎光临”. Hoặc không tốt hơn, Lỗi mã hóa Unicode bật ra

Tôi sẽ chỉ cho bạn cách bao gồm nhiều phông chữ ngôn ngữ hơn với tFPDF. Có thể có các giải pháp khác như hỗ trợ tiếng Trung cho FPDF, plugin cho tiếng Nhật hoặc thậm chí sử dụng một trình tạo PDF khác TCPDF [đang được phát triển]. Tuy nhiên, tôi thấy tFPDF với FPDF là tốt nhất, nó khá đơn giản để thiết lập và bạn có thể sử dụng nó cho nhiều ngôn ngữ và phông chữ

Cài đặt

  1. Cài đặt PHP trong máy của bạn
  • Tôi sẽ đề xuất gói Tất cả trong một như XAMPP, một số điều kỳ lạ có thể xảy ra yêu cầu bạn chỉnh sửa
    from fpdf import FPDF

    pdf = FPDF['P', 'mm', 'A4']
    pdf.add_page[]
    pdf.set_margins[0, 0, 0]
    5 để bật tiện ích mở rộng mbstring nếu bạn chỉ cài đặt PHP

2. Tải xuống tFPDF. zip hoặc tải xuống từ trang web này

3. Những gì bạn cần chỉ là thư mục

from fpdf import FPDF

pdf = FPDF['P', 'mm', 'A4']
pdf.add_page[]
pdf.set_margins[0, 0, 0]
6 và
from fpdf import FPDF

pdf = FPDF['P', 'mm', 'A4']
pdf.add_page[]
pdf.set_margins[0, 0, 0]
7. Đặt chúng dưới thư mục hiện tại của bạn. Phần còn lại là một số tệp ví dụ, vui lòng kiểm tra chúng

4. Bao gồm các dòng sau ở đầu tệp python của bạn

from fpdf import FPDF

pdf = FPDF['P', 'mm', 'A4']
pdf.add_page[]
pdf.set_margins[0, 0, 0]
1

5. Tốt đẹp. Chúng tôi gần như ở đó. Hãy thêm phông chữ bạn muốn sử dụng bằng pdf. thêm_phông chữ[]

  • Đã có sẵn một số phông chữ trong thư mục
    from fpdf import FPDF

    pdf = FPDF['P', 'mm', 'A4']
    pdf.add_page[]
    pdf.set_margins[0, 0, 0]
    7 mà bạn có thể sử dụng ngay. Các phông chữ bên dưới
    from fpdf import FPDF

    pdf = FPDF['P', 'mm', 'A4']
    pdf.add_page[]
    pdf.set_margins[0, 0, 0]
    9 cần được thêm bằng pdf. add_font[] để sử dụng chúng
  • Bạn có thể thêm nhiều phông chữ ở định dạng
    pdf.output['sample.pdf', 'F']
    0 vào
    from fpdf import FPDF

    pdf = FPDF['P', 'mm', 'A4']
    pdf.add_page[]
    pdf.set_margins[0, 0, 0]
    9. Trong liên kết GitHub của tôi bên dưới, bạn có thể tìm thấy phông chữ
    pdf.output['sample.pdf', 'F']
    2 mà tôi hiển thị ở đây
  • Tuy nhiên, một nhược điểm là không phải tất cả các phông chữ
    pdf.output['sample.pdf', 'F']
    0 đều có thể được sử dụng với tFPDF, cần phải thử nghiệm để tìm ra các phông chữ khả thi
from fpdf import FPDF

pdf = FPDF['P', 'mm', 'A4']
pdf.add_page[]
pdf.set_margins[0, 0, 0]
2

6. Đặt phông chữ và sử dụng nó

from fpdf import FPDF

pdf = FPDF['P', 'mm', 'A4']
pdf.add_page[]
pdf.set_margins[0, 0, 0]
3

Nếu bạn đã tuân thủ kỹ mã của chúng tôi, bạn sẽ có thể tạo tệp PDF với nội dung được hiển thị bên dưới

Github

Bạn có thể tìm thấy mã ở trên tại trang web này

Người giới thiệu
  1. http. //www. fpdf. tổ chức/
  2. http. //www. fpdf. org/en/script/script92. php
  3. https. //pyfpdf. đọcthedocs. io/vi/mới nhất/
  4. https. //pyfpdf. đọcthedocs. io/vi/mới nhất/tham chiếu/hình ảnh/chỉ mục. html
về tác giả

Bài viết này được viết bởi Han Sheng, Kỹ sư trí tuệ nhân tạo cấp thấp tại CertifAI, Penang, Malaysia. Anh ấy có niềm đam mê với Deep Learning, Computer Vision và cả Edge Devices. Anh ấy đã tạo ra một số Ứng dụng Web/Di động dựa trên AI để giúp khách hàng giải quyết các vấn đề trong thế giới thực. Vui lòng đọc về anh ấy qua danh mục đầu tư hoặc hồ sơ Github của anh ấy

Chủ Đề