Tôi có một tài liệu PDF nhưng tôi phải đặt hình ảnh của riêng mình lên nó. Đó là một tài liệu chính thức và tôi phải áp dụng một hình ảnh với văn bản "ví dụ" cho toàn bộ trang.
Có cách nào để giải quyết vấn đề này trong Python không?
[văn bản trong tài liệu là đường cong]
Andrew Buss
1.5222 Huy hiệu vàng14 Huy hiệu bạc22 Huy hiệu đồng2 gold badges14 silver badges22 bronze badges
Đã hỏi ngày 7 tháng 11 năm 2012 lúc 19:03Nov 7, 2012 at 19:03
1
Nếu bạn ở đây từ Google, PYPDF đã được thay thế bằng PYPDF2. Cú pháp đã thay đổi phần nào.
import PyPDF2 as pypdf
with open["original.pdf", "rb"] as inFile, open["overlay.pdf", "rb"] as overlay:
original = pypdf.PdfFileReader[inFile]
background = original.getPage[0]
foreground = pypdf.PdfFileReader[overlay].getPage[0]
# merge the first two pages
background.mergePage[foreground]
# add all pages to a writer
writer = pypdf.PdfFileWriter[]
for i in range[original.getNumPages[]]:
page = original.getPage[i]
writer.addPage[page]
# write everything in the writer to a file
with open["modified.pdf", "wb"] as outFile:
writer.write[outFile]
Đã trả lời ngày 15 tháng 7 năm 2014 lúc 21:29Jul 15, 2014 at 21:29
QuintquitQuint
1.07612 huy hiệu bạc11 huy hiệu đồng12 silver badges11 bronze badges
4
Nhìn vào PYPDF. Bạn có thể sử dụng một cái gì đó như mã sau để áp dụng lớp phủ:
page = PdfFileReader[file["document.pdf", "rb"]].getPage[0]
overlay = PdfFileReader[file["overlay.pdf", "rb"]].getPage[0]
page.mergePage[overlay]
Đặt bất kỳ lớp phủ nào bạn muốn, bao gồm cả "ví dụ", vào overlay.pdf
. Cá nhân, tôi thích PDFTK, trong khi không hoàn toàn là Python, có thể được gọi từ một kịch bản với os.system[command]
.
Đã trả lời ngày 7 tháng 11 năm 2012 lúc 19:11Nov 7, 2012 at 19:11
Andrew Bussandrew BussAndrew Buss
1.5222 Huy hiệu vàng14 Huy hiệu bạc22 Huy hiệu đồng2 gold badges14 silver badges22 bronze badges
0
Trong ví dụ này, tôi sẽ chỉ cho bạn cách thêm hình ảnh vào tài liệu hoặc tệp PDF. Bạn có thể cần thêm hoặc bao gồm hình ảnh vào các tệp PDF cùng với thông tin văn bản. Có một số lợi thế trong khi sử dụng PDF làm tài liệu cho các mục đích khác nhau, chẳng hạn như:
- Báo cáo định dạng PDF cho phép các chuyên gia chỉnh sửa, chia sẻ, hợp tác và đảm bảo bảo mật nội dung trong các tài liệu kỹ thuật số.
- Các báo cáo chủ yếu được tạo ở định dạng PDF vì tệp PDF là một tài liệu chỉ đọc của người Viking không thể thay đổi mà không để lại dấu chân điện tử trong khi các định dạng khác như hình ảnh, từ, excel, v.v. có thể dễ dàng thay đổi mà không để lại dấu chân điện tử.
- Các tệp PDF tương thích trên nhiều nền tảng trong khi một tài liệu Word có thể không thể xem được dễ dàng trong hệ thống MAC.
Điều kiện tiên quyết
Python 3.9.1, FPDF [PIP Cài đặt FPDF], Gối [Gối cài đặt PIP]
Thêm hình ảnh vào PDF
Ở đây tôi sẽ chỉ cho bạn cách thêm hình ảnh vào tệp pdf. Ở đây tôi sẽ chỉ ra cách thêm một hình ảnh cũng như nhiều hình ảnh vào các tệp PDF.
Hàm được sử dụng để thêm hình ảnh vào tài liệu PDF được đưa ra dưới đây:
fpdf.image[name, x = None, y = None, w = 0, h = 0, type = '', link = '']
Thông số
name:
Đường dẫn hoặc url của hình ảnh.
x:
Abscissa của góc trên bên trái. Nếu không được chỉ định hoặc bằng không có, abscissa hiện tại được sử dụng [phiên bản 1.7.1 trở lên].
y:
Tốc độ của góc trên bên trái. Nếu không được chỉ định hoặc bằng không có, tọa độ hiện tại được sử dụng; Ngoài ra, việc ngắt trang được kích hoạt trước tiên nếu cần thiết [trong trường hợp phá vỡ trang tự động được bật] và sau cuộc gọi, thứ tự hiện tại được di chuyển xuống dưới cùng của hình ảnh [phiên bản 1.7.1 trở lên].
w:
Chiều rộng của hình ảnh trong trang. Nếu không được chỉ định hoặc bằng 0, nó sẽ được tính toán tự động.
h:
Chiều cao của hình ảnh trong trang. Nếu không được chỉ định hoặc bằng 0, nó sẽ được tính toán tự động.
type:
Định dạng hình ảnh. Các giá trị có thể là [trường hợp không nhạy cảm]: JPG, JPEG, PNG và GIF. Nếu không được chỉ định, loại được suy ra từ phần mở rộng tệp.
link:
URL hoặc định danh được trả về bởi add_link.
Trong chương trình Python sau đây, tôi đang đọc hình ảnh từ thư mục hiện tại và thêm hình ảnh vào tệp PDF.
Bước đầu tiên, bạn cần thêm một trang vào tài liệu PDF trước khi bạn thêm bất kỳ văn bản hoặc hình ảnh nào vào tài liệu PDF.
Nếu bạn muốn thêm mỗi hình ảnh vào một trang PDF duy nhất thì cho mỗi hình ảnh bạn cần thêm một trang mới nếu không, trang PDF sẽ được tự động thêm trong khi hình ảnh được thêm từng cái một.
Mặc dù tôi đang đọc các tệp từ thư mục hiện tại, tôi cũng đang xác thực các tệp hình ảnh bằng tiện ích mở rộng của chúng [.png hoặc .jpg hoặc .jpeg].
import os
from fpdf import FPDF
#from PIL import Image
#pdf = FPDF[orientation = 'L']
pdf = FPDF[]
pdf.add_page[] #add a page first
#i = Image.open['flower.png']
#i_name = os.path.basename['flower.png']
#w, h = i.size
pdf.image['flower.png']
pdf.output["image.pdf", "F"]
dirs = os.listdir['.']
pdf1 = FPDF[]
#pdf1.add_page[]
for img in dirs:
if os.path.isfile[img] and os.path.splitext[img][1].lower[] in ['.jpg', '.jpeg', '.png']:
#print[img]
pdf1.add_page[]
pdf1.image[img]
pdf1.output["images.pdf", "F"]
Kiểm tra thêm hình ảnh vào PDF
Khi bạn thực hiện tập lệnh Python ở trên, các hình ảnh sẽ được thêm vào tài liệu PDF của bạn:
Mã nguồn
Tải xuống