2011-01-24 60 views
8

Cách đọc tệp PDF và đưa nội dung vào chuỗi? Sử dụng ngôn ngữ PHP.Chuyển đổi PDF thành chuỗi

+1

Sử dụng ['file_get_contents'] (http://de3.php.net/manual/en/function.file-get-contents.php) nếu bạn cần dữ liệu nhị phân thô hoặc cập nhật câu hỏi của bạn và cho chúng tôi biết những gì bạn thực sự muốn. –

+0

Tôi cần có văn bản rõ ràng từ các tệp pdf. Khi tôi nhận được văn bản từ các tập tin pdf tôi cần chèn văn bản này trong DB. – lolalola

Trả lời

7

Bạn có thể sử dụng giống như pdftotext mà đi kèm với các gói xpdf trên Linux. Lệnh popen sau đó có thể được sử dụng để dẫn đầu ra của pdftotext vào một chuỗi:

$mystring = ""; 
$fd = popen("/usr/bin/pdftotext blah.pdf","r"); 
if ($fd) { 
    while (($myline = fgets($fd)) !== false) { 
     $mystring .= $myline; 
    } 
} 
+0

Tải xuống liên kết cho xpdf: https://www.xpdfreader.com/download.html và liên kết tới popen: http://php.net/manual/en/function.popen.php – kurdtpage

3

Tìm thấy lớp học thực sự tuyệt vời này! Hơn nữa, bạn có thể thêm chức năng để phù hợp với nhu cầu của bạn.

Có lẽ chúng sẽ giúp bạn thêm chức năng:

Nếu nó không hoạt động, hãy kiểm tra xem bạn có thể đánh dấu/đánh dấu văn bản của mình khi mở trong Adobe Reader (nếu bạn không thể, văn bản trong tệp của bạn có thể được lưu dưới dạng đường cong hình học), kiểm tra mã hóa.

0

Cài đặt APACHE-TIKA trên máy chủ của bạn. APACHE-TIKA hỗ trợ nhiều tệp pdf hơn. Cài đặt hướng dẫn: http://www.acquia.com/blog/use-apache-solr-search-files

và thức mã thật đơn giản:

$string = ""; 
$fd = popen("java -jar yourpathtotika/tika-app-1.3.jar -t yourpathtopdf/sample.pdf","r"); 
while (!feof($fd)) { 
$buffer = fgets($fd, 4096); 
$string .= $buffer; 
} 
echo $string; 
0

Bạn có thể sử dụng lớp PHP mà có sẵn ở đây:

http://www.pdftotext.eu

Đây là một văn bản PDF phạm vi công cộng vắt hoàn toàn được viết bằng PHP thuần túy, có nghĩa là bạn không cần phải dựa vào các lệnh bên ngoài. Nó cung cấp một giao diện đơn giản để truy xuất văn bản:

include ('PdfToText.phpclass') ; 
$pdf = new PdfToText ('mysample.pdf') ; 
echo "PDF contents are : " . $pdf -> Text . "\n" ; 
Các vấn đề liên quan