1
我正在嘗試從pdf獲取從api獲取輸出的PDF流。 首先在返回頭上似乎缺少,並在螢火蟲我得到關於XRef(表)流頭無效的許多錯誤。 我決定我可以通過在文本編輯器中打開pdf並保存一個txt文件然後從中讀取來進行測試。從那個嘗試能夠重新創建pdf。 另外,如果我然後去打開文本文件,並保存到PDF它不會工作了。有沒有辦法在PHP中從流中重新創建PDF?
我對此很陌生,這是我第一次嘗試天真地認爲它不會很難。
是否有可能將pdf的輸出流重新創建回pdf文件?如果是的話,我會怎麼做呢?
我不太瞭解它,並試圖查找一些東西,但沒有很遠。
我發表了評論,但認爲這會更好。
所以流是這樣的:
`4 0 obj
<</Filter /FlateDecode /Length 890>>
stream
xœ½V]S1½û´ÿÁñ>ꌦùØd³ Uèà*t†Ç(¥¢ÛVÛ">øã=Iw—–"ÌÈdòu「Üœ{öô¦ü「%Ÿ³RJè\²u^ä^ó°±d^ŠÌ.1Ê„TWYêS功’ù€Gœâ¡œ]j'ƒôòv「k‘gŠŸz/Œ*xÒçþ」~Jyff´0Æ/ÀTE&l^,€ZµÔ§Ê?‹0「/µ0ëí
Lmr‘Ûœ¬ùM*…u9Ÿ§¯ºÜÚÖì„Ï-wOx«›*!¥ä¶„¾「¶:ûŠÓæˆäî$ýü±7kuÿ¨µ°8ŠQqX#s…Ú;î
¹µ£ys4—Ô}…KKát
,¡1V§—ÃÝcæG´I‡4CeÚ£>õhL:~ÌÝo8¿pÛQ_Z‚wçýµëB›UoÑoúJ§t„:Ãõ»tFCÌú
<ü‰Ùÿ4úžm™^÷ý,VëöŠßÔåþ/E
endstream
endobj`
我曾嘗試用下面將其解碼:注意上面的代碼是整個文件
$pdf_base64 = "assets/evidential-3.txt";
$pdf_base64_handler = fopen($pdf_base64,'r');
$pdf_content = fread ($pdf_base64_handler,filesize($pdf_base64));
$pdf_new = gzdeflate($pdf_content, 890);
$pdf = gzinflate($pdf_new);
var_dump($pdf_content); exit;
的SNIPPIT正如你可以看到我已經嘗試過基於代碼的varliables的名字。 API會做這樣的事情:
//set response type
inputStream = new FileInputStream("/home/pd4mltest.pdf");
//input stream gets the pdf
inputStream = new FileInputStream("/home/pd4mltest.pdf");
outputStream = response.getOutputStream();
//set output stream to response
OUtils.copy(inputStream, outputStream);
我也試了一下在另外的解決方案已經完成在計算器here ,我說:
$stringWithFile = "assets/evidential-3.txt";
header('Content-Description: File Transfer');
header("Content-Type: application/pdf");
header('Content-Disposition: attachment; filename=document.pdf');
header('Cache-Control: must-revalidate');
header('Pragma: public');
flush();
file_put_contents("document.pdf", base64_decode($stringWithFile));
readfile("document.pdf");
exit();
但我得到這些類型的錯誤:
Warning: Unsupported feature "unknown"
Error: Invalid XRef stream header
pdf.worker.js (line 249)
<System>
[email protected]://pdf.js/build/pdf.worker.js:3613:13
[email protected]://pdf.js/build/pdf.worker.js:3207:23
[email protected]://pdf.js/build/pdf.worker.js:2449:7
[email protected]://pdf.js/build/pdf.worker.js:2329:7
LocalPdfManager_ensure/<@resource://pdf.js/build/pdf.worker.js:1901:20
[email protected]://pdf.js/build/pdf.worker.js:1896:1
[email protected]://pdf.js/build/pdf.worker.js:1832:14
loadDocument/</<@resource://pdf.js/build/pdf.worker.js:38456:11
pdf.worker.js (line 251)
<System>
Warning: Unsupported feature "unknown"
pdf.worker.js (line 234)
<System>
Warning: Indexing all PDF objects
pdf.worker.js (line 234)
<System>
An error occurred while loading the PDF. PDF.js v1.0.473 (build: 1694cd8) Message: InvalidPDFException
究竟是「pdf流」? PDF不是「流式」格式,如視頻/音頻。 – 2014-12-04 14:38:26
如果你顯示你已經嘗試過的東西,它會有所幫助。 – 2014-12-04 14:38:51