Hướng dẫn best php pdf parser - trình phân tích cú pháp pdf php tốt nhất
TL; DR cho văn bản PDF đơn giản và trích xuất siêu dữ liệu, sử dụng pdfparser. Đối với các tùy chọn nâng cao, hãy thử PDFTOTEXT và PDFINFO từ Poppler. Để tham gia hoặc chia các tệp PDF, mã hóa chúng hoặc áp dụng hình mờ, sử dụng PDFTK. Để tạo ảnh chụp màn hình JPEG hoặc PNG của PDF, hãy sử dụng ImageMagick hoặc PDFTocairo. For simple PDF text and metadata extraction, use pdfparser. For advanced options, try pdftotext and
pdfinfo from Poppler. To join or split PDF files, encrypt them or apply watermarks, use pdftk. To make a JPEG or PNG screenshot of a PDF, use ImageMagick or
pdftocairo. Trong bài viết trước, tôi đã mô tả một số công cụ có thể được sử dụng cùng với PHP để tạo các tệp PDF. Trước đó, sự lựa chọn không dễ dàng và chúng tôi có rất nhiều tiêu chí để xem xét trong khi chọn công cụ tốt nhất. Hôm nay chúng tôi sẽ duyệt các khả năng để đọc và chỉnh sửa các tệp PDF hiện có. Một lần nữa, chúng tôi sẽ bắt đầu kiểm tra xem có bất kỳ thư viện PHP nào để thao tác với các tệp PDF mà không phụ thuộc vào các công cụ nhị phân bên ngoài. Có một thư viện thú vị gọi là Smalot/PDFPARSER. Nó có hơn 1500 sao trên GitHub. Nó phân tích một tệp pdf vào một mảng các đối tượng tài liệu được xử lý thêm để có được những gì chúng ta cần. Thư viện thuận tiện vì nó hỗ trợ cả phân tích tệp hiện có hoặc chuỗi có dữ liệu PDF. Nó cho phép bạn trích xuất siêu dữ liệu và văn bản thuần túy từ một tài liệu cùng với các đối tượng khác (hình ảnh, phông chữ). Tuy nhiên, các tệp được mã hóa chưa được hỗ trợ. Bạn có thể kiểm tra thư viện tại trang demo của nó.It allows you to extract metadata and plain text from a document along with other objects (images, fonts). However, encrypted files are not yet supported. You can test the library at its demo page. Smalot/PDFPARSER có hỗ trợ thương mại từ thực tế. tc-lib-pdf-parserĐây là một thư viện được tạo bởi người tạo TCPDF, một thư viện nổi tiếng tạo các tệp PDF. Trình phân tích cú pháp này thu hút ít sự quan tâm hơn so với người đầu tiên, mặc dù tác giả có hơn 15 năm kinh nghiệm xử lý các tệp PDF. Bạn có thể so sánh cả hai thư viện bằng cách phân tích các tài liệu khác nhau. Chúng có thể khác nhau đặc biệt là về xử lý các tệp bị hỏng. FPDITôi đã quen thuộc với thư viện này khi tôi nhận được một báo cáo lỗi cho một mô-đun đánh dấu hình mờ trong một số hệ thống sách điện tử. Mô -đun nhận được tệp PDF, phân tích cú pháp bằng FPDI, tạo ra một hình mờ với FPDF và đóng dấu nó trên tất cả các trang. Vấn đề là phiên bản miễn phí của FPDI chỉ hỗ trợ PDF phiên bản 1.4 trở xuống. Để hỗ trợ các phiên bản tài liệu cao hơn, bạn phải mua một thư viện đầy đủ. Và đó là những gì mà báo cáo lỗi là về. Chúng tôi quyết định chuyển sang một công cụ khác, Công cụ dòng lệnh đầu tiên tôi chơi là PDFTK. Tôi đã sử dụng nó để tham gia các tài liệu riêng biệt vào một, áp dụng hình mờ và trích xuất siêu dữ liệu cơ bản, giống như một số trang. Nó hỗ trợ tất cả các định dạng PDF không giống như thư viện FPDI. Điều duy nhất mà thiếu thiếu là một tính năng trích xuất văn bản.join separate documents into one, apply watermarks and extract basic metadata, like a number of pages. It supports all PDF formats unlike FPDI library. The only thing that’s missing is a text extraction feature. Sự cần thiết phải trích xuất văn bản thuần túy từ một tài liệu đã dẫn tôi đến thư viện Apache PDFBox. Nó được viết bằng Java và, như tôi đã mô tả trước đây, nó cung cấp một số tính năng rất hay. Tuy nhiên, trong thế giới PHP, chúng ta chỉ có thể truy cập một trình bao bọc CLI cho thư viện đó có một bộ tùy chọn giới hạn. Sau đó, tôi phát hiện ra thư viện poppler, được cho là hỗ trợ đầy đủ cho tiêu chuẩn ISO 32000-1 cho PDF. Thư viện C ++ này có thể được truy cập thông qua các công cụ CLI chuyên dụng-poppler-utils, mà chúng ta có thể chạy từ PHP. Ví dụ: công cụ Đôi khi bạn có thể muốn tạo ảnh chụp màn hình PNG hoặc JPEG của một tài liệu. Bạn có thể làm điều đó với Giấy góiĐối với PDFBox CLI có thể được truy cập thông qua Schmengler/PDFBox. ImageMagick và Ghostscript là cơ sở cho trình bao bọc Spatie/PDF-to-Image. Poppler có một số thư viện trình bao bọc PHP:
Trên thực tế, hai thư viện này là trình bao bọc cho một gói, vì Chọn cái nào? Bản địa hay CLI?Có một vài cân nhắc cơ bản. Các thư viện PHP bản địa nên hoạt động độc lập với môi trường máy chủ. Chúng dễ dàng hơn rất nhiều để thiết lập và cập nhật. Công cụ phụ thuộc duy nhất bạn sử dụng là nhà soạn nhạc. Các công cụ CLI, đặc biệt là những công cụ được viết bằng C/C ++, có thể nhanh hơn và sử dụng ít bộ nhớ hơn. Tuy nhiên, tôi không có bằng chứng nghiêm ngặt vào lúc này. Có lẽ tất cả các tối ưu hóa đi kèm với PHP 7 sẽ làm cho điểm này trở nên lỗi thời. Ngoài ra, tôi tin rằng các công cụ C/C ++ có đối tượng rộng hơn và do đó có thể nhận được nhiều hỗ trợ cộng đồng hơn. Bạn nên chọn một công cụ mà tốt nhất cho các yêu cầu cụ thể của bạn. Hầu hết các công cụ sẽ làm một công việc tốt trong khi chỉ đơn giản là kết xuất một tệp PDF không được mã hóa thành một hình ảnh hoặc một số văn bản đơn giản. Nhưng nếu bạn cần có nhiều quyền kiểm soát hơn đối với cấu trúc tệp đầu ra hoặc bạn muốn xử lý các tài liệu được mã hóa, Đôi khi tôi xảy ra rằng nhiều nhà phát triển chỉ đang phát minh lại bánh xe, đặc biệt là khi nói đến vô số thư viện xử lý PDF cho PHP. Định dạng tài liệu di động có gần bảy trăm trang thông số kỹ thuật. Tất cả chúng ta đang vật lộn với các vấn đề xử lý tương tự. Đó là lý do tại sao tôi thích chọn các công cụ tốt nhất trong các công nghệ khác nhau và kết nối chúng với các giao diện hơn là gắn bó với một công nghệ duy nhất. Kiểm tra danh sách phần mềm PDF tại Wikipedia. Xem thêm
|