我正在嘗試讀取 pdf 檔案并提取字串的第一行。例如,這個 pdf 的名稱是“myfile.pdf”,我正在嘗試從檔案中提取標題并重命名檔案。像這個“Test-title.pdf”。
我正在使用的 pdf 具有如下結構:
- 檔案開頭的影像
- 我試圖提取的標題
- 作者姓名
- 文章內容
像這樣:

現在,當我運行以下命令時:
file -bi myfile.pdf
它輸出以下內容:
application/pdf; charset=binary
我試過這個命令來獲取字串的第一行:
head -1 myfile.pdf
它輸出這個:
%PDF-1.7
它不會回傳我正在尋找的標題!它將回傳文學它找到的第一行字串,這將是 pdf 標題資訊。
我被困在試圖跳過檔案頭資訊和影像資料以獲取標題。
當我運行“貓”命令時:
cat myfile.pdf
原始輸出將是:
%PDF-1.7
%????
22 0 obj
<</Linearized 1/L 159974/O 24/E 147279/N 3/T 159414/H [ 1376 364]>>
endobj
xref
22 54
0000000016 00000 n
0000001740 00000 n
0000001867 00000 n
0000002934 00000 n
0000002959 00000 n
0000003096 00000 n
0000003232 00000 n
0000003367 00000 n
0000003504 00000 n
0000003539 00000 n
0000003652 00000 n
0000003677 00000 n
0000003985 00000 n
0000004010 00000 n
0000004450 00000 n
0000005991 00000 n
0000006132 00000 n
0000006243 00000 n
0000006268 00000 n
0000006910 00000 n
0000007300 00000 n
0000038954 00000 n
0000041603 00000 n
0000041672 00000 n
0000041756 00000 n
0000045070 00000 n
0000045346 00000 n
0000045520 00000 n
0000045589 00000 n
0000045702 00000 n
0000059118 00000 n
0000059404 00000 n
0000060098 00000 n
0000060167 00000 n
0000060275 00000 n
0000067014 00000 n
0000067284 00000 n
0000067663 00000 n
0000082615 00000 n
0000082684 00000 n
0000082788 00000 n
0000088251 00000 n
0000088530 00000 n
0000088858 00000 n
0000088883 00000 n
0000089295 00000 n
0000094900 00000 n
0000095173 00000 n
0000095536 00000 n
0000095701 00000 n
0000097340 00000 n
0000147155 00000 n
0000147222 00000 n
0000001376 00000 n
trailer
<</Size 76/Root 23 0 R/Info 21 0 R/ID[<DCD3FF39B7B75344A3163B8206E477A4><A6B399FFB4F52F46B26C3AEC47243E5D>]/Prev 159403>>
startxref
0
%%EOF
75 0 obj
<</Filter/FlateDecode/I 370/Length 270/O 354/S 171/T 308>>stream
h?b```c``?"??21 ?P?????cC??????
8?Dq????EG<ME#?$3??V?P?2l?hr?e??q?:=q?????$?40
?Tt@??l??e?s??/SD1?6bS??$?
uj5u.com熱心網友回復:
使用pdftotext:
要獲取 pdf 的第一行:
pdftotext /path/to/myfile.pdf - | head -n 1
(帶有基于影像的 pdf 檔案的 YMMV)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/532829.html
標籤:linux重击
