Hãy nói về tệp PDF.
Làm thế nào để chúng tôi xử lý chúng?
Ý tôi là, chúng ta đã tìm hiểu về cách làm việc với các tệp trong phần trước của chúng ta với Python và bạn có thể tưởng tượng
rằng chúng ta có thể làm việc với bất kỳ tệp nào chúng ta đã học về xử lý hình ảnh,
nhưng chúng ta cũng biết rằng chúng ta có thể thao tác bất kỳ văn bản nào. tệp, bất kỳ tệp PDF, bất kỳ tệp CSV hoặc Excel nào.
Đây chỉ là các loại tệp mà chúng ta có thể xử lý và làm việc bằng Python.
Trong phần này, chúng ta sẽ nói về PDF và cách thức hoạt động của nó, và kiến thức về PDF này sẽ chuyển
sang các định dạng tệp khác nhau.
Bây giờ chúng ta sẽ nói về tệp Excel và tệp CSV ở phần sau của khóa học khi chúng ta bắt đầu
học máy.
Nhưng bây giờ, hãy làm việc với PDF và xem cách chúng ta có thể sử dụng Python để giúp cuộc sống của chúng ta dễ dàng hơn.
Bây giờ tôi sẽ liên kết đến một số tệp PDF mà chúng tôi có ở đây mà chúng tôi sẽ sử dụng trong phần này.
Chúng tôi có một tệp PDF giả đơn giản.
Chúng tôi có một tệp PDF khác thực sự có hai trang.
Và sau đó chúng tôi có một tệp PDF hình mờ mà chúng tôi sẽ lưu cho dự án cuối cùng của chúng tôi trong phần này.
Nhưng hãy quay lại đây.
Từ những gì chúng ta đã học được cho đến nay, bạn nghĩ bước đầu tiên của chúng ta là gì?
Chà, bước đầu tiên của chúng tôi là tìm một thư viện mà chúng tôi có thể sử dụng với Python để xử lý các tệp PDF.
Và hãy sẵn sàng cho phần này.
Tôi có một trang web thực sự ấn tượng, có thể là trang web tốt nhất mà bạn đã từng xem, có thể là trang web
sạch nhất, hiện đại nhất.
Khi nói đến gói mà chúng tôi đang cài đặt, chúng tôi đang cài đặt một thứ gọi là cài đặt PIP ba.
P.
Y.
PDF.
Hai.
Bây giờ có rất nhiều gói mà chúng ta có thể cài đặt khi nói đến tệp PDF.
Đây là cái mà tôi đề xuất cho khóa học.
Bây giờ, trong khi cài đặt này đang được cài đặt, trong trường hợp của tôi, nó đã được cài đặt.
Hãy để tôi cho bạn thấy tài liệu trang web của họ trông như thế nào.
Chuẩn bị.
Nó đẹp.
Nó đây.
Ồ.
Đúng.
Tôi không biết tại sao, nhưng vì một số lý do, các trang web cung cấp tài liệu về python không phải là trang web đẹp nhất.
Ý tôi là, đây là tất cả chủ quan, phải không?
Một số người thích điều này, nhưng nó không khiến bạn hứng thú khi làm việc với các tệp PDF.
Trang web này không?
Dù sao, bạn có thể thấy ở đây rằng nó thực sự không lớn như một thư viện.
Và bạn có thể nhấp vào tài liệu và đọc lại mọi thứ.
Nhưng chúng ta hãy chỉ tìm hiểu những điều cơ bản.
Vì vậy, điều đầu tiên tôi sẽ làm là nhập pi pdf sang.
Và những gì chúng ta sẽ làm là làm việc với cái đầu tiên, PDF giả, chỉ là tệp PDF này
là một trang duy nhất nói là tệp PDF giả.
Không có gì quá thú vị.
Hiện nay.
Làm thế nào chúng ta có thể mở tệp này?
Chúng ta biết điều này từ các bài học trước, phải không?
Chúng tôi có thể sử dụng điều đó với lệnh mở và chúng tôi sẽ nói pdf dummy dot và tôi có thể nói như thế này bởi vì chúng tôi đang ở trong
cùng một thư mục.
Tôi có một tệp PDF mà tôi đã tạo, vì vậy tôi chỉ nói này, hãy lấy pdf giả từ cùng một thư mục.
Và ở đây, bây giờ chúng ta hãy đọc vì tôi muốn đọc tệp và sau đó chỉ cần nói dưới dạng tệp và bây giờ
hãy in tệp để xem chúng ta nhận được gì.
Tôi sẽ chạy tệp này bằng cách nói Python ba chấm pdf.
Hãy xem điều gì sẽ xảy ra.
Được rồi.
Tôi nhận được một tin nhắn.
Ồ, tên rapper, PDF giả.
Được rồi, có vẻ như nó đang hoạt động.
Hãy chỉ khám phá điều này một chút nữa để thấy rằng nó thực sự đang hoạt động.
Những gì chúng ta có thể làm thực sự là sử dụng PDF để đọc tệp.
Vì thế.
Làm thôi nào.
Có thể nói người đọc bằng pie pdf và sử dụng phương pháp pdf.
Trình đọc tệp.
Lại.
Nó cho phép chúng tôi đọc tệp Python này.
Vì vậy, chúng ta chỉ cần cung cấp cho nó tệp ở đây.
Và sau đó chúng tôi sẽ chỉ đọc máy in và chúng tôi có thể yêu cầu một số trang.
Một lần nữa, điều này đi kèm với thư viện, vì vậy hãy chạy nó và xem điều gì sẽ xảy ra.
Được rồi, chúng tôi nhận được một lỗi.
Nó cho biết cảnh báo đọc pdf Đối tượng tệp dòng PDF File Reader không ở chế độ nhị phân.
Điều đó nghĩa là gì?
Hãy nhớ rằng, nhị phân là số một và số không.
Đúng.
Nếu tôi nhấp vào Hình nộm.
Dummied up pdf.
Đây không phải là tệp PDF mà chúng tôi nghĩ rằng đây là cách một tệp pdf nên trông như thế nào.
Nhưng bạn thấy đấy, tùy thuộc vào chương trình bạn đang chạy, nó có thể không đọc được tệp PDF.
Vì vậy, những gì chúng ta cần làm, và đây chỉ là một tiêu chuẩn mà bạn phải nhớ, đó là chúng ta muốn
đọc hệ nhị phân.
Vì vậy, nó được đọc và sau đó là nhị phân.
Vì vậy, những gì xảy ra ở đây là điều này tạo ra một đối tượng dòng tệp.
Vì vậy, nó sẽ chuyển đổi đối tượng tệp sang chế độ nhị phân.
Để chuyển pdf sang trình đọc tập tin.
Có thể đọc đối tượng tệp nhị phân này.
Vì vậy, bây giờ nếu tôi chạy lại điều này, hãy nhìn vào điều đó.
Nó có thể đọc nó.
Và nó cho tôi biết rằng điều này có một trang.
Nếu tôi làm hai trang chấm pdf và chạy điều này.
Chúng tôi nhận được hai trang.
Đáng kinh ngạc.
Hãy làm rõ điều này.
Và quay lại pdf của chúng tôi.
Tôi cảm thấy tồi tệ khi đặt tên cho hình nộm pdf này.
Tôi không nên có ý định với pdf này.
Tôi sẽ làm việc với các quy ước đặt tên của tôi vào lần tới.
Vì vậy, giống như chúng ta đã thấy trong xử lý ảnh bằng pi pdf, chúng ta có thể làm rất nhiều việc để xử lý ảnh
này.
Ví dụ, tôi có thể lấy trang ở đây.
Và nếu tôi nhận được trang, giả sử trang đầu tiên và tôi chạy nó.
Chúng tôi lấy đối tượng trang ở đây.
Bây giờ nó trông giống như vô nghĩa ở đây bởi vì, đây là một đối tượng đặc biệt mà một tệp PDF tạo ra.
Nhưng nếu tôi làm điều gì đó giống như trang một, đó sẽ là trang hai trong trường hợp này.
Tôi gặp lỗi, lỗi chỉ mục cho biết chỉ mục danh sách nằm ngoài phạm vi vì pdf giả chỉ có một trang.
Chúng tôi cũng có thể làm những việc khác nhau như giả dụ, xoay hình ảnh này và chúng tôi sẽ xoay nó 180 độ.
Nếu tôi chạy cái này.
Điều này không hoạt động.
Bây giờ tại sao lại là điều này?
Đó là bởi vì pdf hai sử dụng đối tượng người đọc, nhưng nó cần biết những gì để xoay.
Trong trường hợp của chúng tôi, chúng tôi thực sự phải làm cho trang của người đọc xoay nó.
Vì vậy, chúng ta phải làm một cái gì đó giống như người đọc dấu chấm.
Nhận trang.
Nhận trang đầu tiên của pdf giả của chúng tôi.
Và gán điều này cho biến trang để bây giờ chúng ta có đối tượng trang, hãy nhớ một đối tượng trang và một
đối tượng người đọc.
Bây giờ tôi chạy điều này tốt, tôi nhận được đối tượng trang không có thuộc tính xoay và tôi có thể đã lừa bạn một chút để chứng minh một
điểm ở đây.
Bây giờ, đối tượng xoay này nghe có vẻ giống như một cái gì đó mà nó nên có, nhưng nó thực sự không phải là cái tên phù hợp
mà chúng ta muốn.
Vì vậy, làm thế nào chúng ta có thể giải quyết điều này?
Và điều này quay trở lại với chúng tôi khi đọc tài liệu.
Nếu tôi quay lại trình đọc tệp và tìm kiếm, xoay hoặc quay lại đây, chúng tôi thấy rằng chúng tôi có lớp đối
tượng trang, mà chúng tôi có, phải không?
Chúng tôi có đối tượng trang.
Nếu tôi nhấp vào đây, hãy tìm xoay.
Và chúng tôi có một số thứ chúng tôi có trang xoay hợp nhất.
Chúng tôi tiếp tục đi, tiếp tục, tiếp tục đi và tất cả đều đúng, chúng tôi đã xoay theo chiều kim đồng hồ, xoay ngược chiều kim đồng
hồ và góc.
Vì vậy, có vẻ như đây là những gì chúng ta cần.
Chúng tôi thực sự không có phương pháp xoay, nhưng bạn thấy ở đây, đây là cách chúng tôi tìm ra những gì thư viện
làm.
Chúng tôi cũng có quy mô để mở rộng quy mô nếu chúng tôi muốn.
Vì vậy, chúng ta hãy sao chép xoay theo chiều kim đồng hồ hoặc hãy xoay ngược chiều kim đồng hồ.
Và chúng tôi sẽ chỉ làm 90.
Nếu tôi lưu cái này và chạy.
Được rồi, chúng ta lấy lại một đối tượng ở đây, nhưng đối tượng này thực sự nằm trong bộ nhớ.
Nếu tôi trở lại với hình nộm của mình.
Không có gì thay đổi vì chúng tôi chưa thực sự tiết kiệm được gì.
Đây là tất cả trong bộ nhớ máy tính của tôi.
Khi chương trình này ngừng chạy, tốt, nó sẽ được chuyển vào thùng rác.
Vì vậy, hãy cập nhật tệp PDF bị xáo trộn của chúng tôi để thực sự viết và xoay ngược chiều kim đồng hồ.
Làm thế nào chúng ta có thể làm điều đó?
Vâng, với một từ khóa khác.
Vì vậy, bên trong với mở, chúng tôi sẽ nói với mở và chúng tôi sẽ gọi điều này, giả sử quanh co.
Tôi không biết đây có phải là cách bạn đánh vần cricket hay không, vì vậy chúng ta hãy cùng xem xét bản pdf.
Và chúng ta sẽ mở tệp này và chúng ta sẽ ghi vào tệp này và định dạng nhị phân.
Và chúng tôi sẽ nói dưới dạng tệp.
Và ở đây, chúng ta sẽ ghi tệp vào tệp mới này.
Nhưng làm thế nào chúng ta có thể làm điều này?
Thư viện này cung cấp cho chúng ta một thứ gọi là đối tượng nhà văn để chúng ta có thể tạo một biến nhà văn.
Và biến người viết này sẽ sử dụng.
PDF chấm pdf thay vì trình đọc tệp.
Chúng tôi có một tập tin.
Nhà văn.
Và điều này cho phép chúng ta viết đối tượng và bộ nhớ để bây giờ tôi có thể nói nhà văn.
Dấu chấm.
Đúng.
Và chỉ để làm cho quy ước đặt tên phù hợp, giả sử đây sẽ là tệp mới.
Vì vậy, chúng tôi sẽ nói tệp mới.
Vì vậy, hãy xem nếu điều này hoạt động.
Tôi sẽ rõ ràng.
Và hãy chạy cái này.
Được rồi.
Chúng tôi có độ nghiêng ở PDF.
Nhưng chúng tôi thực sự quên làm một điều vì chúng tôi vừa mở một đối tượng nhà văn, nhưng chúng tôi không thực sự viết bất
kỳ tệp PDF nào vào đó.
Lý tưởng nhất là chúng ta lấy trang được xoay và viết vào bên trong nó, phải không?
Vậy chúng ta có thể làm gì?
Là loại bỏ bản in ở đây.
Chúng tôi đã xoay trang và với đối tượng nhà văn mà chúng tôi có bây giờ, chúng tôi có thể nói nhà văn, chấm, thêm trang và cung
cấp cho nó trang mà chúng tôi đã xoay.
Vì vậy, bây giờ nếu tôi chạy điều này một lần nữa.
Và đi nghiêng.
Vâng, một lần nữa, chúng ta thấy ở đây vô nghĩa.
Nhưng nếu chúng ta mở cái này.
Nhìn kìa.
Bản pdf của chúng tôi được xoay như vậy.
Rất, rất tuyệt.
Vì vậy, đó là tuyệt vời, nhưng loại vô dụng, phải không?
Ai thực sự xoay các tệp PDF?
Điều đó thực sự khó đọc, nhưng ít nhất điều này cho bạn thấy khả năng xử lý tệp PDF của chúng tôi.
Hãy làm việc gì đó thú vị hơn trong video tiếp theo.
Tôi muốn chúng tôi làm điều gì đó hữu ích hơn thế này một chút.
Vì vậy, chúng ta hãy nghỉ ngơi và tôi sẽ gặp lại bạn trong phần tiếp theo.