Chuyển file php sang pdf online

Giới thiệu

Bạn có 1 file tài liệu PDF. Bạn muốn hiển thị ngôn từ của nó lên website của chính bản thân mình dưới dạng text/html giống như một số trang tư liệu như tailieu.vn đã làm.Việc website của doanh nghiệp hiển thị nội dung của file PDF dưới dạng text thì sẽ có rất nhiều lợi ích về SEO.

Bạn đang xem: Chuyển file php sang pdf online

Nó tạo cho nội dung nội dung bài viết của chúng ta ngoài việc sử dụng embed hoặc iframe nhằm chèn file PDF thì còn tồn tại text nữa, làm cho tăng quality cho nội dung bài viết của bạn.Tính năng này cân xứng với mọi website về tài liệu, sách.

Hôm nay bản thân xin trình làng đến các bạn cách để convert tệp tin PDF sang HTML bằng PHP.Đó là sử dụng package tonchik-tm/pdf-to-html. Nó chuyển động dựa trên tủ sách Poppler.(Poppler là 1 thư viện rendering PDF dựa vào base là tủ sách xpdf-3.0.).Mình sẽ thiết lập và sử dụng nó trên Laravel 5.5.

Cài đặt

Cài để Poppler

Trước hết, các bạn phải setup thư viện Poppler (bắt buộc phải cài nhằm convert PDF to HTML).

Xem thêm: Ngày Ra Mắt Liên Minh Huyền Thoại Mobile, Liên Minh Tốc Chiến Ra Mắt Khi Nào Ở Việt Nam

Debian/Ubuntu

sudo apt-get install poppler-utils

Mac OS X

brew install poppler

Windows

Các bạn tải về và thiết đặt theo hướng dẫn sau: http://blog.alivate.com.au/poppler-windows/

Thư viện PDF khổng lồ HTML nằm tại vị trí đâu?

Sau khi setup Poppler, chúng ta vào thư mục usr/bin (mình áp dụng Ubuntu) đã thấy nó có khá nhiều tính năng, lấy một ví dụ như: pdf khổng lồ html, pdf to text, pdf lớn ppm, pdf images,...

*

Bạn có thể kiểm tra thư viện PDF to lớn HTML nó nằm ở chỗ nào bằng command như dưới đây:

Debian/Ubuntu

$ whereis pdftohtmlpdftohtml: /usr/bin/pdftohtml

$ whereis pdfinfopdfinfo: /usr/bin/pdfinfo

Mac OS X

$ which pdfinfo/usr/local/bin/pdfinfo

$ which pdftohtml/usr/local/bin/pdfinfo

WindowsNó ngơi nghỉ trong folder bin.

Cài đặt package

Trong project của bạn, chạy command:

composer require tonchik-tm/pdf-to-html:~1Hoặc tiếp tế composer.json cùng run composer install

"tonchik-tm/pdf-to-html":"~1"Sử dụngSau khi thiết đặt thư viện xong, chúng ta có thể convert PDF khổng lồ HTML trên sản phẩm thật của chính bản thân mình bằng việc chạy command của Poppler. Nhưng họ đang ao ước convert bằng code PHP, cụ thể là Laravel.Giờ thì bọn chúng ta bắt đầu code nào!

Ví dụ thuở đầu mình gồm file PDF có tên pdf-sample.pdf. Mình vẫn convert tệp tin này quý phái HTML:

Config

$full_settings = < "pdftohtml_path" => "/usr/bin/pdftohtml", // path khổng lồ pdftohtml "pdfinfo_path" => "/usr/bin/pdfinfo", // path to lớn pdfinfo "generate" => < // settings for generating html "singlePage" => false, // we want separate pages "imageJpeg" => false, // we want png image "ignoreImages" => false, // we need images "zoom" => 1.5, // scale pdf "noFrames" => false, // we want separate pages >, "clearAfter" => true, // tự động hóa clear output đầu ra dir (if removeOutputDir==false then đầu ra dir will remain) "removeOutputDir" => true, // remove output đầu ra dir "outputDir" => "/tmp/".uniqid(), // đầu ra dir "html" => < // settings for processing html "inlineCss" => true, // replaces css classes lớn inline css rules "inlineImages" => true, // looks for images in html & replaces the src attribute khổng lồ base64 hash "onlyContent" => true, // takes from html toàn thân content only >>Kết quảLấy tin tức file pdf:$pdfInfo = $pdf->getInfo();

*

Đếm số trang:

$countPages = $pdf->countPages();

*

Lấy nội dung HTML của trang đầu tiên:

$contentFirstPage = $pdf->getHtml()->getPage(1);

*

Lấy văn bản của toàn bộ các trang:

foreach ($this->pdf->getHtml()->getAllPages() as $page) echo $page . "";

*
Nó hiện ra đoạn code html kèm css luôn.Các các bạn có thấy nó giống giống hệt với tệp tin pdf thuở đầu không? khôn xiết đẹp nữa bắt buộc không nào?

Tuy nhiên, trong lấy ví dụ này mình convert file tiếng Anh vì thế nó đẹp như vậy. Nếu khách hàng convert tệp tin tiếng Việt hoặc file unicode thì xem xét có thể bị lỗi font chữ.

Sau khi convert xong, các bạn mở thư mục output đầu ra ra (trong ví dụ của mình để trong thư mục storage/app/ebooks của project Laravel), vẫn thấy bao gồm 3 file: 1 file html được convert từ bỏ pdf, 1 tệp tin pdf thuở đầu (file này bản thân để cài đặt clearAfter: false sống trên nên không trở nên xóa), 1 file hình ảnh screenshot.

*

Source Code của chính bản thân mình các chúng ta có thể tham khảo:routes/web.php

Route::resource("ebooks", "EbooksController");EbooksControllernamespace AppHttpControllers;use AppHttpControllersController;use TonchikTmPdfToHtmlPdf;class EbooksController extends Controller protected $pdf; public function __construct() // initiate $this->pdf = new Pdf(storage_path("app/ebooks/pdf-sample.pdf"), < "pdftohtml_path" => "/usr/bin/pdftohtml", "pdfinfo_path" => "/usr/bin/pdfinfo", "clearAfter" => false, "outputDir" => storage_path("app/ebooks"), // output dir >); public function index() foreach ($this->pdf->getHtml()->getAllPages() as $page) echo $page . ""; Thật là 1 trong những package solo giản, gọn dịu & hoàn hảo để convert từ PDF sang trọng HTML buộc phải không nào những bạn?Hy vọng các bạn sẽ áp dụng được nó để giao hàng cho dự án của mình.Cảm ơn chúng ta đã đọc bài viết!

Tham khảo

https://github.com/tonchik-tm/pdf-to-htmlhttps://github.com/mgufrone/pdf-to-htmlhttps://poppler.freedesktop.org/