Hướng dẫn how do i edit a pdf file in python? - làm cách nào để chỉnh sửa tệp pdf trong python?
Nó thực sự hữu ích để biết cách tạo và sửa đổi các tệp PDF trong Python. PDF, hoặc định dạng tài liệu di động, là một trong những định dạng phổ biến nhất để chia sẻ tài liệu qua Internet. PDF có thể chứa văn bản, hình ảnh, bảng, biểu mẫu và phương tiện phong phú như video và hình ảnh động, tất cả trong một tệp.PDF, or Portable Document Format, is one of the most common formats for sharing documents over the Internet. PDFs can contain text, images, tables, forms, and rich media like videos and animations, all in a single file. Show
Sự phong phú của các loại nội dung này có thể làm cho việc làm việc với PDF trở nên khó khăn. Có rất nhiều loại dữ liệu khác nhau để giải mã khi mở tệp PDF! May mắn thay, hệ sinh thái Python có một số gói tuyệt vời để đọc, thao tác và tạo các tệp PDF. Trong hướng dẫn này, bạn sẽ học cách:
Trên đường đi, bạn sẽ có một số cơ hội để hiểu sâu hơn về sự hiểu biết của bạn bằng cách theo dõi cùng với các ví dụ. Bạn có thể tải xuống các tài liệu được sử dụng trong các ví dụ bằng cách nhấp vào liên kết bên dưới: Ghép và sáp nhập các tệp PDFHai tác vụ phổ biến khi làm việc với các tệp PDF đang kết hợp và hợp nhất một số tệp PDF thành một tệp. Khi bạn kết hợp hai hoặc nhiều tệp PDF, bạn tham gia các tệp này lần lượt vào một tài liệu. Ví dụ, một công ty có thể kết hợp một số báo cáo hàng ngày vào một báo cáo hàng tháng vào cuối một tháng.concatenate two or more PDFs, you join the files one after another into a single document. For example, a company may concatenate several daily reports into one monthly report at the end of a month. Hợp nhất hai tệp PDF cũng tham gia các tệp PDF thành một tệp. Nhưng thay vì tham gia PDF thứ hai đến cuối lần đầu tiên, việc hợp nhất cho phép bạn chèn nó sau một trang cụ thể trong PDF đầu tiên. Sau đó, nó đẩy tất cả các trang PDF đầu tiên sau khi điểm chèn vào cuối PDF thứ hai. two PDFs also joins the PDFs into a single file. But instead of joining the second PDF to the end of the first, merging allows you to insert it after a specific page in the first PDF. Then it pushes all of the first PDF’s pages after the insertion point to the end of the second PDF. Trong phần này, bạn sẽ học cách kết hợp và hợp nhất các tệp PDF bằng cách sử dụng gói 2 3.Sử dụng lớp >>> from pathlib import Path >>> from PyPDF2 import PdfFileMerger >>> report_dir = ( ... Path.home() ... / "creating-and-modifying-pdfs" ... / "practice_files" ... / "quarterly_report" ... ) >>> report_path = report_dir / "report.pdf" >>> toc_path = report_dir / "toc.pdf" 3Lớp 3 rất giống với lớp 6 mà bạn đã học trong phần trước. Bạn có thể sử dụng cả hai lớp để viết các tệp PDF. Trong cả hai trường hợp, bạn thêm các trang vào các phiên bản của lớp và sau đó viết chúng vào một tệp.Sự khác biệt chính giữa hai là 6 chỉ có thể nối hoặc nối, các trang vào cuối danh sách các trang đã có trong người viết, trong khi 3 có thể chèn hoặc hợp nhất các trang tại bất kỳ vị trí nào.Hãy tiếp tục và tạo phiên bản 3 đầu tiên của bạn. Trong cửa sổ tương tác Idle, hãy nhập mã sau để nhập lớp 3 và tạo một thể hiện mới:>>>
Các đối tượng 3 trống khi chúng khởi tạo lần đầu tiên. Bạn cần phải thêm một số trang vào đối tượng của mình trước khi bạn có thể làm bất cứ điều gì với nó.Có một vài cách để thêm các trang vào đối tượng 2 và cách nào bạn sử dụng phụ thuộc vào những gì bạn cần thực hiện:
Bạn sẽ xem xét cả hai phương thức trong phần này, bắt đầu bằng 3.Ghép các tệp PDF với >>> pdf_merger = PdfFileMerger() >>> pdf_merger.append(str(report_path)) 3Thư mục 9 có một thư mục con gọi là 00 có chứa ba báo cáo chi phí cho một nhân viên tên là Peter Python.Peter cần kết hợp ba tệp PDF này và gửi chúng cho chủ nhân của mình dưới dạng một tệp PDF duy nhất để anh ta có thể được hoàn trả cho một số chi phí liên quan đến công việc. Bạn có thể bắt đầu bằng cách sử dụng mô -đun 01 để có được danh sách các đối tượng 02 cho mỗi trong ba báo cáo chi phí trong thư mục 03:>>>
Các đối tượng 3 trống khi chúng khởi tạo lần đầu tiên. Bạn cần phải thêm một số trang vào đối tượng của mình trước khi bạn có thể làm bất cứ điều gì với nó.Có một vài cách để thêm các trang vào đối tượng 2 và cách nào bạn sử dụng phụ thuộc vào những gì bạn cần thực hiện: 3 liên kết mọi trang trong tài liệu PDF hiện có đến cuối các trang hiện tại trong 3.>>>
Các đối tượng 3 trống khi chúng khởi tạo lần đầu tiên. Bạn cần phải thêm một số trang vào đối tượng của mình trước khi bạn có thể làm bất cứ điều gì với nó.Có một vài cách để thêm các trang vào đối tượng 2 và cách nào bạn sử dụng phụ thuộc vào những gì bạn cần thực hiện:>>>
Các đối tượng 3 trống khi chúng khởi tạo lần đầu tiên. Bạn cần phải thêm một số trang vào đối tượng của mình trước khi bạn có thể làm bất cứ điều gì với nó.Có một vài cách để thêm các trang vào đối tượng 2 và cách nào bạn sử dụng phụ thuộc vào những gì bạn cần thực hiện:>>>
Trông tôt đây! Bây giờ bạn có thể kết hợp ba tệp PDF. Để làm điều đó, bạn sẽ sử dụng 15, yêu cầu một đối số chuỗi duy nhất đại diện cho đường dẫn đến tệp PDF. Khi bạn gọi 3, tất cả các trang trong tệp PDF đều được thêm vào tập hợp các trang trong đối tượng 3.Hãy cùng xem điều này trong hành động. Đầu tiên, nhập lớp 3 và tạo một thể hiện mới:>>>
Bây giờ lặp qua các đường dẫn trong danh sách 00 được sắp xếp và nối chúng vào 2:>>>
Lưu ý rằng mỗi đối tượng 02 trong 03 được chuyển đổi thành một chuỗi với 23 trước khi được chuyển sang 24.Với tất cả các tệp PDF trong thư mục 03 được nối với nhau trong đối tượng 2, điều cuối cùng bạn cần làm là viết mọi thứ vào tệp PDF đầu ra. 3 Các trường hợp có phương thức 28 hoạt động giống như 29.Mở một tệp mới ở chế độ ghi nhị phân, sau đó chuyển đối tượng tệp cho phương thức 30:>>>
Bây giờ bạn có một tệp PDF trong thư mục làm việc hiện tại của bạn có tên là 31. Mở nó với đầu đọc PDF và bạn sẽ tìm thấy cả ba báo cáo chi phí cùng nhau trong cùng một tệp PDF.Hợp nhất PDFS với >>> pdf_merger = PdfFileMerger() >>> pdf_merger.append(str(report_path)) 5Để hợp nhất hai hoặc nhiều tệp PDF, hãy sử dụng 33. Phương pháp này tương tự như 3, ngoại trừ việc bạn phải chỉ định vị trí trong PDF đầu ra để chèn tất cả nội dung từ PDF bạn đang hợp nhất.Hãy xem một ví dụ. Goggle, Inc. đã chuẩn bị một báo cáo hàng quý nhưng quên bao gồm một bảng nội dung. Peter Python nhận thấy sai lầm và nhanh chóng tạo ra một tệp PDF với mục lục nội dung bị thiếu. Bây giờ anh ta cần phải hợp nhất pdf đó vào báo cáo ban đầu. Cả PDF báo cáo và bảng nội dung PDF đều có thể được tìm thấy trong thư mục con 35 của thư mục 36. Báo cáo có trong một tệp có tên 37 và mục nội dung nằm trong một tệp có tên là 38.Trong cửa sổ tương tác Idle, nhập lớp 3 và tạo các đối tượng ____102 cho các tệp 37 và 38:>>>
Điều đầu tiên bạn sẽ làm là nối PDF báo cáo vào một phiên bản 3 mới bằng cách sử dụng 3:>>>
Bây giờ 2 có một số trang trong đó, bạn có thể hợp nhất bảng nội dung PDF vào đó tại vị trí chính xác. Nếu bạn mở tệp 37 với đầu đọc PDF, thì bạn sẽ thấy trang đầu tiên của báo cáo là một trang tiêu đề. Thứ hai là phần giới thiệu và các trang còn lại chứa các phần báo cáo khác nhau.Bạn muốn chèn bảng nội dung sau trang tiêu đề và ngay trước phần giới thiệu. Vì các chỉ số trang PDF bắt đầu với 47 trong 2, bạn cần chèn bảng nội dung sau trang tại Index 47 và trước trang tại Index 50.Để làm điều đó, hãy gọi 51 với hai đối số:
Ở đây, những gì trông giống như: >>> 0Mỗi trang trong bảng nội dung PDF được chèn trước trang tại Index 50. Vì bảng nội dung PDF chỉ là một trang, nó được chèn vào chỉ mục 50. Trang hiện đang ở Index 50 sau đó được chuyển sang Index 56. Trang hiện đang ở Index 56 được chuyển sang Index 58, v.v.Bây giờ hãy viết PDF được hợp nhất vào tệp đầu ra: >>> 1Bây giờ bạn có một tệp 59 trong thư mục làm việc hiện tại của bạn. Mở nó với đầu đọc PDF và kiểm tra xem bảng nội dung đã được chèn vào đúng vị trí.PDF nối và hợp nhất là các hoạt động phổ biến. Mặc dù các ví dụ trong phần này được thừa nhận là phần nào, bạn có thể tưởng tượng một chương trình sẽ hữu ích như thế nào khi hợp nhất hàng ngàn tệp PDF hoặc để tự động hóa các tác vụ thường xuyên mà nếu không mất nhiều thời gian để hoàn thành. Kiểm tra việc hiểu của bạnMở rộng khối bên dưới để kiểm tra sự hiểu biết của bạn: Trong thư mục 9 trong kho lưu trữ đồng hành cho bài viết này, có hai tệp được gọi là 61 và 62.Sử dụng một thể hiện 63, kết hợp hai tệp bằng cách sử dụng 3. Lưu các tệp PDF được nối với một tệp mới có tên 65 nếu thư mục nhà máy tính của bạn.Bạn có thể mở rộng khối bên dưới để xem giải pháp: Đặt đường dẫn đến tệp PDF: 2Bây giờ bạn có thể tạo phiên bản 3: 3Bây giờ lặp qua các đường dẫn trong 67 và 3 mỗi tệp thành 2: 4Cuối cùng, hãy viết nội dung của 2 vào một tệp có tên 65 trong thư mục nhà của bạn:
5Khi bạn đã sẵn sàng, bạn có thể chuyển sang phần tiếp theo. Xoay và cắt các trang PDFCho đến nay, bạn đã học được cách trích xuất văn bản và các trang từ PDF và cách và nối và hợp nhất hai hoặc nhiều tệp PDF. Đây là tất cả các hoạt động phổ biến với PDF, nhưng 2 có nhiều tính năng hữu ích khác.Trong phần này, bạn sẽ học cách xoay và cắt các trang trong tệp PDF. Trang quayBạn sẽ bắt đầu bằng cách học cách xoay các trang. Đối với ví dụ này, bạn sẽ sử dụng tệp 73 trong thư mục 36. Tệp 73 chứa một phiên bản đáng yêu của Hans Christian Andersen, con vịt xấu xí, ngoại trừ mọi trang được đánh số lẻ đều được xoay ngược chiều kim đồng hồ.Hãy để sửa chữa điều đó. Trong một cửa sổ tương tác mới nhàn rỗi, hãy bắt đầu bằng cách nhập các lớp 76 và 6 từ 2, cũng như lớp 02 từ mô -đun 01:>>> 6Bây giờ tạo một đối tượng 02 cho tệp 73:>>> 7Bây giờ tạo một đối tượng 02 cho tệp 73:>>> 8Bây giờ tạo một đối tượng 02 cho tệp 73:Cuối cùng, hãy tạo các phiên bản 76 và 6 mới:Mục tiêu của bạn là sử dụng 85 để tạo tệp PDF mới trong đó tất cả các trang đều có định hướng chính xác. Các trang được đánh số chẵn trong PDF đã được định hướng đúng, nhưng các trang được đánh số lẻ được xoay ngược chiều kim đồng hồ bởi chín mươi độ.Để khắc phục sự cố, bạn sẽ sử dụng 86. Phương pháp này có một đối số số nguyên, tính theo độ và xoay một trang theo chiều kim đồng hồ theo nhiều độ đó. Ví dụ, 87 xoay một trang PDF theo chiều kim đồng hồ theo chín mươi độ.Có một số cách bạn có thể đi về các trang xoay trong PDF. Chúng tôi sẽ thảo luận về hai cách khác nhau để làm điều đó. Cả hai đều dựa vào 88, nhưng họ thực hiện các cách tiếp cận khác nhau để xác định trang nào được xoay.>>> 9Bây giờ tạo một đối tượng 02 cho tệp 73:Cuối cùng, hãy tạo các phiên bản 76 và 6 mới:Mục tiêu của bạn là sử dụng 85 để tạo tệp PDF mới trong đó tất cả các trang đều có định hướng chính xác. Các trang được đánh số chẵn trong PDF đã được định hướng đúng, nhưng các trang được đánh số lẻ được xoay ngược chiều kim đồng hồ bởi chín mươi độ.>>> 0Bây giờ tạo một đối tượng 02 cho tệp 73:Cuối cùng, hãy tạo các phiên bản 76 và 6 mới:Mục tiêu của bạn là sử dụng 85 để tạo tệp PDF mới trong đó tất cả các trang đều có định hướng chính xác. Các trang được đánh số chẵn trong PDF đã được định hướng đúng, nhưng các trang được đánh số lẻ được xoay ngược chiều kim đồng hồ bởi chín mươi độ.Để khắc phục sự cố, bạn sẽ sử dụng 86. Phương pháp này có một đối số số nguyên, tính theo độ và xoay một trang theo chiều kim đồng hồ theo nhiều độ đó. Ví dụ, 87 xoay một trang PDF theo chiều kim đồng hồ theo chín mươi độ.>>> 1Bây giờ tạo một đối tượng 02 cho tệp 73:Cuối cùng, hãy tạo các phiên bản 76 và 6 mới:>>> 2
Bây giờ tạo một đối tượng 02 cho tệp 73:Cuối cùng, hãy tạo các phiên bản 76 và 6 mới:>>> 3Bây giờ tạo một đối tượng 02 cho tệp 73:>>> 4Bây giờ tạo một đối tượng 02 cho tệp 73:Cuối cùng, hãy tạo các phiên bản 76 và 6 mới:>>> 5Bây giờ tạo một đối tượng 02 cho tệp 73:Cuối cùng, hãy tạo các phiên bản 76 và 6 mới:>>> 8Bây giờ hãy viết một vòng lặp lặp qua các trang trong 20 có thể điều chỉnh được, kiểm tra giá trị của 00 và xoay trang nếu giá trị đó là 01:>>> 7Vòng lặp này không chỉ ngắn hơn một chút so với vòng lặp trong giải pháp đầu tiên, mà nó không dựa vào bất kỳ kiến thức nào trước đây về các trang nào cần được xoay. Bạn có thể sử dụng một vòng lặp như thế này để xoay các trang trong bất kỳ PDF nào mà không cần phải mở nó ra và nhìn vào nó. Để hoàn thành giải pháp, hãy viết nội dung của 85 vào một tệp mới:>>> 8Bây giờ bạn có thể mở tệp 24 trong thư mục làm việc hiện tại của bạn và so sánh nó với tệp 94 bạn đã tạo trước đó. Họ nên trông giống hệt nhau.Giá trị của 00 có thể không phải lúc nào cũng là những gì bạn mong đợi. Ví dụ: nếu bạn quét một tài liệu giấy với trang xoay chín mươi độ ngược chiều kim đồng hồ, thì nội dung của PDF sẽ xuất hiện xoay. Tuy nhiên, khóa 00 có thể có giá trị 47.
Đây là một trong nhiều quirks có thể làm cho các tệp PDF bực bội. Đôi khi, bạn chỉ cần mở PDF trong chương trình đầu đọc PDF và tìm ra mọi thứ theo cách thủ công. Trang cắt xénMột hoạt động phổ biến khác với PDFS là các trang cắt xén. Bạn có thể cần phải làm điều này để chia một trang duy nhất thành nhiều trang hoặc để trích xuất chỉ một phần nhỏ của một trang, chẳng hạn như chữ ký hoặc hình. Ví dụ: thư mục 36 bao gồm một tệp có tên 30. PDF này chứa một phần của Hans Christian Andersen, The Little Mermaid.Mỗi trang trong PDF này có hai cột. Hãy để chia mỗi trang thành hai trang, một cho mỗi cột. Để bắt đầu, hãy nhập các lớp 76 và 6 từ lớp 2 và 02 từ mô -đun 01:>>> 6Bây giờ tạo một đối tượng 02 cho tệp 30:>>> 0Tiếp theo, tạo một đối tượng 76 mới và nhận trang đầu tiên của PDF:>>> 1Để cắt trang, trước tiên bạn cần biết thêm một chút về cách cấu trúc các trang. 99 Các trường hợp như 40 có thuộc tính 41 đại diện cho một khu vực hình chữ nhật xác định ranh giới của trang.Bạn có thể sử dụng cửa sổ tương tác Idle, để khám phá 41 trước khi sử dụng nó cắt trang:>>> 2Thuộc tính 41 trả về 44. Đối tượng này được xác định trong gói 2 và đại diện cho một khu vực hình chữ nhật trên trang.Danh sách 46 trong đầu ra xác định diện tích hình chữ nhật. Hai số đầu tiên là tọa độ X và Y của góc dưới bên trái của hình chữ nhật. Các số thứ ba và thứ tư đại diện cho chiều rộng và chiều cao của hình chữ nhật, tương ứng. Các đơn vị của tất cả các giá trị là các điểm, bằng 1/72 inch. 47 đại diện cho một vùng hình chữ nhật có góc dưới bên trái ở gốc, chiều rộng 48 điểm, hoặc 11 inch, và chiều cao 612 điểm, hoặc 8,5 inch. Đó là các kích thước của một trang có kích thước chữ cái tiêu chuẩn theo định hướng cảnh quan, được sử dụng cho ví dụ PDF của Nàng tiên cá nhỏ. Một trang PDF có kích thước chữ cái theo hướng chân dung sẽ trả về đầu ra 49.A 44 có bốn thuộc tính trả về tọa độ của các góc hình chữ nhật: 51, 52, 53 và 54. Giống như các giá trị chiều rộng và chiều cao, các tọa độ này được đưa ra theo điểm.Bạn có thể sử dụng bốn thuộc tính để có được tọa độ của mỗi góc của 44:>>> 3Mỗi thuộc tính trả về một 56 chứa tọa độ của góc được chỉ định. Bạn có thể truy cập các tọa độ riêng lẻ bằng dấu ngoặc vuông giống như bất kỳ Python Tuple nào khác:>>> 4Bạn có thể thay đổi tọa độ của 57 bằng cách gán một bộ mới cho một trong các thuộc tính của nó:>>> 5Khi bạn thay đổi tọa độ 53, thuộc tính 54 sẽ tự động điều chỉnh để bảo tồn hình chữ nhật:>>> 6Khi bạn thay đổi tọa độ của 44 được trả về bởi 41, bạn sẽ cắt trang một cách hiệu quả. Đối tượng 40 hiện chỉ chứa thông tin có trong ranh giới của 44 mới.Đi trước và viết trang bị cắt vào tệp PDF mới: >>> 7Nếu bạn mở tệp 64 trong thư mục làm việc hiện tại của mình, thì bạn sẽ thấy phần trên cùng của trang đã bị xóa.Làm thế nào bạn sẽ cắt trang để chỉ hiển thị văn bản ở phía bên trái của trang? Bạn sẽ cần phải cắt các kích thước ngang của trang một nửa. Bạn có thể đạt được điều này bằng cách thay đổi tọa độ 54 của đối tượng 41. Hãy để xem cách hoạt động của nó.Đầu tiên, bạn cần nhận các đối tượng 76 và 6 mới vì bạn đã thay đổi trang đầu tiên trong 06 và thêm nó vào 85:>>> 8Bây giờ hãy lấy trang đầu tiên của PDF: >>> 9Bây giờ hãy lấy trang đầu tiên của PDF: >>> 0Bây giờ hãy lấy trang đầu tiên của PDF: Lần này, hãy để Lừa làm việc với một bản sao của trang đầu tiên để trang bạn vừa trích xuất vẫn còn nguyên vẹn. Bạn có thể làm điều đó bằng cách nhập mô -đun 71 từ thư viện tiêu chuẩn Python và sử dụng 72 để tạo một bản sao của trang:Bây giờ bạn có thể thay đổi 73 mà không thay đổi thuộc tính của 40. Bằng cách đó, bạn có thể sử dụng 40 sau để trích xuất văn bản ở phía bên phải của trang.>>> 1Bây giờ hãy lấy trang đầu tiên của PDF: >>> 2Bây giờ hãy lấy trang đầu tiên của PDF: >>> 3Lần này, hãy để Lừa làm việc với một bản sao của trang đầu tiên để trang bạn vừa trích xuất vẫn còn nguyên vẹn. Bạn có thể làm điều đó bằng cách nhập mô -đun 71 từ thư viện tiêu chuẩn Python và sử dụng 72 để tạo một bản sao của trang:Bây giờ bạn có thể thay đổi 73 mà không thay đổi thuộc tính của 40. Bằng cách đó, bạn có thể sử dụng 40 sau để trích xuất văn bản ở phía bên phải của trang.>>> 4Bây giờ bạn cần phải làm một chút toán học. Bạn đã tìm ra rằng bạn cần phải di chuyển góc trên bên phải của 41 sang trung tâm trên cùng của trang. Để làm điều đó, bạn sẽ tạo một 56 mới với thành phần đầu tiên bằng một nửa giá trị ban đầu và gán nó cho thuộc tính 54.>>> 5Đầu tiên, có được các tọa độ hiện tại của góc trên bên phải của 41.Sau đó, tạo một 56 mới có tọa độ đầu tiên là một nửa giá trị của tọa độ hiện tại và tọa độ thứ hai giống như bản gốc:>>> 6Cuối cùng, gán tọa độ mới cho thuộc tính 54:Bây giờ bạn đã cắt trang gốc để chỉ chứa văn bản ở phía bên trái! Hãy để trích xuất phía bên phải của trang tiếp theo.Đầu tiên nhận được một bản sao mới của 40:Di chuyển góc 53 thay vì góc 54:Điều này đặt góc trên bên trái thành cùng một tọa độ mà bạn đã chuyển góc trên bên phải sang khi trích xuất phía bên trái của trang. Vì vậy, 85 hiện là một hình chữ nhật có góc trên bên trái nằm ở trung tâm trên cùng của trang và có góc trên bên phải ở trên cùng bên phải của trang.Cuối cùng, thêm trang 73 và 87 vào 85 và viết chúng vào tệp PDF mới:Bây giờ hãy mở tệp 89 với đầu đọc PDF. Bạn sẽ thấy một tệp có hai trang, phần đầu tiên chứa văn bản từ phía bên trái của trang đầu tiên gốc và trang thứ hai chứa văn bản từ phía bên phải ban đầu. 7Kiểm tra việc hiểu của bạn 8Mở rộng khối bên dưới để kiểm tra sự hiểu biết của bạn: 9Trong thư mục 9 trong kho lưu trữ đồng hành cho bài viết này, có một tệp gọi là 91. 0Tạo một tệp mới có tên >>> for path in reports_dir.glob("*.pdf"): ... print(path.name) ... Expense report 1.pdf Expense report 3.pdf Expense report 2.pdf 92 trong thư mục nhà máy tính của bạn có chứa tất cả các trang từ >>> for path in reports_dir.glob("*.pdf"): ... print(path.name) ... Expense report 1.pdf Expense report 3.pdf Expense report 2.pdf 91, nhưng mỗi trang được xoay ngược chiều kim đồng hồ 90 độ.Bạn có thể mở rộng khối bên dưới để xem giải pháp: Đặt đường dẫn đến tệp PDF:Bây giờ bạn có thể tạo các phiên bản 76 và 6:
Mã hóa và giải mã PDFS >>> 1Đôi khi các tệp PDF được bảo vệ mật khẩu. Với gói 2, bạn có thể làm việc với các tệp PDF được mã hóa cũng như thêm bảo vệ mật khẩu vào các tệp PDF hiện có.>>> 2Mã hóa PDFS >>> 3Bạn có thể thêm bảo vệ mật khẩu vào tệp PDF bằng phương thức 02 của phiên bản 03. Nó có hai tham số chính: 04 đặt mật khẩu người dùng. Điều này cho phép mở và đọc tệp PDF.>>> 4 05 đặt mật khẩu chủ sở hữu. Điều này cho phép mở PDF mà không có bất kỳ hạn chế nào, bao gồm chỉnh sửa.Hãy để sử dụng 02 để thêm mật khẩu vào tệp PDF. Đầu tiên, hãy mở tệp 07 trong thư mục 36:>>> 5Bây giờ hãy tạo một thể hiện 6 mới và thêm các trang từ 06 vào nó:Tiếp theo, thêm mật khẩu 11 với 12:Giải mã PDFSĐể giải mã một tệp PDF được mã hóa, hãy sử dụng phương thức 21 của một thể hiện 76. 21 có một tham số duy nhất gọi là 24 mà bạn có thể sử dụng để cung cấp mật khẩu để giải mã. Các đặc quyền bạn có khi mở PDF phụ thuộc vào đối số bạn đã chuyển cho tham số 24.Hãy để mở tệp 15 được mã hóa mà bạn đã tạo trong phần trước và sử dụng 2 để giải mã nó.Đầu tiên, hãy tạo một thể hiện 76 mới với đường dẫn đến PDF được bảo vệ:>>> 6Trước khi bạn giải mã PDF, hãy xem những gì xảy ra nếu bạn cố gắng lấy trang đầu tiên: >>> 7Trước khi bạn giải mã PDF, hãy xem những gì xảy ra nếu bạn cố gắng lấy trang đầu tiên: Một ngoại lệ 29 được nêu ra, thông báo cho bạn rằng tệp PDF chưa được giải mã.>>> 8Trước khi bạn giải mã PDF, hãy xem những gì xảy ra nếu bạn cố gắng lấy trang đầu tiên:
47 chỉ ra rằng mật khẩu không chính xác.>>> 9Trước khi bạn giải mã PDF, hãy xem những gì xảy ra nếu bạn cố gắng lấy trang đầu tiên: Một ngoại lệ >>> expense_reports = list(reports_dir.glob("*.pdf")) >>> expense_reports.sort() 29 được nêu ra, thông báo cho bạn rằng tệp PDF chưa được giải mã.Đi trước và giải mã tập tin ngay bây giờ: 21 Trả về một số nguyên đại diện cho sự thành công của giải mã: 47 chỉ ra rằng mật khẩu không chính xác. 50 chỉ ra rằng mật khẩu người dùng được khớp. 56 chỉ ra rằng mật khẩu của chủ sở hữu đã được khớp. 0Khi bạn đã giải mã tệp, bạn có thể truy cập nội dung của PDF: 8Bây giờ bạn có thể trích xuất văn bản và cắt hoặc xoay trang đến nội dung trái tim của bạn! 2Kiểm tra việc hiểu của bạn 3Mở rộng khối bên dưới để kiểm tra sự hiểu biết của bạn: 4Trong thư mục >>> pdf_merger = PdfFileMerger() >>> pdf_merger.append(str(report_path)) 9 trong kho lưu trữ đồng hành cho bài viết này, có một tệp gọi là >>> expense_reports = list(reports_dir.glob("*.pdf")) >>> expense_reports.sort() 35.Sử dụng 36, mã hóa tệp bằng mật khẩu người dùng 37. Lưu tệp được mã hóa dưới dạng 38 trong thư mục nhà máy tính của bạn.Bạn có thể mở rộng khối bên dưới để xem giải pháp: Đặt đường dẫn đến tệp PDF:Bây giờ hãy tạo các phiên bản 76 và 6: 5Bạn có thể nối tất cả các trang từ 06 lên 85 bằng cách sử dụng 43: 6Bây giờ sử dụng 44 để đặt người dùng Passwrod thành 45:Cuối cùng, hãy viết nội dung của >>> from pathlib import Path >>> reports_dir = ( ... Path.home() ... / "creating-and-modifying-pdfs" ... / "practice_files" ... / "expense_reports" ... ) 85 vào một tệp có tên >>> expense_reports = list(reports_dir.glob("*.pdf")) >>> expense_reports.sort() 38 trong thư mục nhà máy tính của bạn:Tạo tệp PDF từ đầu Gói 2 rất tốt để đọc và sửa đổi các tệp PDF hiện có, nhưng nó có một giới hạn lớn: bạn có thể sử dụng nó để tạo tệp PDF mới. Trong phần này, bạn sẽ sử dụng bộ công cụ báo cáo để tạo các tệp PDF từ đầu.>>> 7Trước khi bạn giải mã PDF, hãy xem những gì xảy ra nếu bạn cố gắng lấy trang đầu tiên: >>> 8Trước khi bạn giải mã PDF, hãy xem những gì xảy ra nếu bạn cố gắng lấy trang đầu tiên: Một ngoại lệ 29 được nêu ra, thông báo cho bạn rằng tệp PDF chưa được giải mã.>>> 9Trước khi bạn giải mã PDF, hãy xem những gì xảy ra nếu bạn cố gắng lấy trang đầu tiên: Một ngoại lệ 29 được nêu ra, thông báo cho bạn rằng tệp PDF chưa được giải mã.Đi trước và giải mã tập tin ngay bây giờ: 21 Trả về một số nguyên đại diện cho sự thành công của giải mã: 47 chỉ ra rằng mật khẩu không chính xác.
Khi bạn đã giải mã tệp, bạn có thể truy cập nội dung của PDF: Bây giờ bạn có thể trích xuất văn bản và cắt hoặc xoay trang đến nội dung trái tim của bạn!Kiểm tra việc hiểu của bạn Ví dụ: để đặt kích thước trang thành rộng 77 inch bằng 78 inch, bạn sẽ tạo ra 55 sau đây: 0 80 đại diện cho một bài báo có kích thước chữ cái vì 77 lần 82 là 83 và 78 lần 82 là 48.Nếu làm toán để chuyển đổi điểm thành inch hoặc centimet không phải là tách trà của bạn, thì bạn có thể sử dụng mô -đun 87 để giúp bạn chuyển đổi. Mô -đun 88 chứa một số đối tượng trợ giúp, chẳng hạn như 89 và 90, đơn giản hóa các chuyển đổi của bạn.Đi trước và nhập các đối tượng 89 và 90 từ mô -đun 87:>>> 1Bây giờ bạn có thể kiểm tra từng đối tượng để xem chúng là gì: >>> 2Bây giờ bạn có thể kiểm tra từng đối tượng để xem chúng là gì: Cả 90 và 89 đều là các giá trị điểm nổi. Chúng đại diện cho số lượng điểm có trong mỗi đơn vị. 89 là 97 điểm và 90 là 99 điểm.>>> 3Bây giờ bạn có thể kiểm tra từng đối tượng để xem chúng là gì: Cả 90 và 89 đều là các giá trị điểm nổi. Chúng đại diện cho số lượng điểm có trong mỗi đơn vị. 89 là 97 điểm và 90 là 99 điểm.>>> 4Bây giờ bạn có thể kiểm tra từng đối tượng để xem chúng là gì: >>> 5Bây giờ bạn có thể kiểm tra từng đối tượng để xem chúng là gì:
068,5 trong x 11 in 148,5 trong x 14 in >>> 6Bây giờ bạn có thể kiểm tra từng đối tượng để xem chúng là gì: >>> 7Bây giờ bạn có thể kiểm tra từng đối tượng để xem chúng là gì: >>> 8Bây giờ bạn có thể kiểm tra từng đối tượng để xem chúng là gì: Cả 90 và 89 đều là các giá trị điểm nổi. Chúng đại diện cho số lượng điểm có trong mỗi đơn vị. 89 là 97 điểm và 90 là 99 điểm.
Để sử dụng các đơn vị, nhân tên đơn vị với số lượng đơn vị mà bạn muốn chuyển đổi thành điểm. Ví dụ, ở đây, cách sử dụng 89 để đặt kích thước trang thành rộng ____377 inch bằng 78 inch cao:
Bằng cách chuyển một tuple cho 76, bạn có thể tạo bất kỳ kích thước nào của trang mà bạn muốn. Tuy nhiên, gói 49 có một số kích thước trang tích hợp tiêu chuẩn dễ làm việc hơn. 9Các kích thước trang được đặt trong mô -đun 05. Ví dụ: để đặt kích thước trang thành chữ cái, bạn có thể nhập đối tượng 06 từ mô -đun 07 và chuyển nó vào tham số 76 khi khởi tạo 55 của bạn:Nếu bạn kiểm tra đối tượng 06, thì bạn sẽ thấy rằng nó là một bộ nổi của phao:Mô -đun 11 chứa nhiều kích thước trang tiêu chuẩn. Dưới đây là một số ít với kích thước của họ:Kích thước trangKích thước 12210 mm x 297 mm 06 08,5 trong x 11 in 148,5 trong x 14 in 1511 trong x 17 inNgoài ra, mô -đun chứa các định nghĩa cho tất cả các kích thước giấy tiêu chuẩn ISO 216. Với
Bạn cũng đã giới thiệu để tạo các tệp PDF từ đầu với gói 49. Bạn đã học được cách:You learned how to:
49 là một công cụ tạo PDF mạnh mẽ và bạn chỉ làm trầy xước bề mặt của những gì có thể. Nếu bạn thích những gì bạn đã học trong mẫu này từ Python Basics: Giới thiệu thực tế về Python 3, thì hãy chắc chắn kiểm tra phần còn lại của cuốn sách.Mã hóa hạnh phúc! Python có thể hoạt động với pdfs không?Bạn có thể làm việc với PDF có sẵn trong Python bằng cách sử dụng gói PYPDF2. PYPDF2 là gói python thuần túy mà bạn có thể sử dụng cho nhiều loại hoạt động PDF khác nhau.. PyPDF2 is a pure-Python package that you can use for many different types of PDF operations.
Chúng ta có thể chỉnh sửa dữ liệu trong PDF không?Định dạng tài liệu di động (PDF) là một định dạng phổ biến để chia sẻ các phiên bản cuối cùng của các tệp.Để thêm hoặc chỉnh sửa văn bản trong PDF được thực hiện trong một chương trình văn phòng như Excel hoặc Nhà xuất bản, hãy bắt đầu với tệp văn phòng gốc.Mở tệp đó trong chương trình Office của bạn, thực hiện các thay đổi của bạn và sau đó lưu lại tệp ở định dạng PDF. |