需求說明
解析指定的 PDF 檔案(作業 - 文章分析.pdf) 中以下資訊 :
所有內文不包括頁首頁尾,並在每頁的文字間需要插入換行符號 \n
需要檔案
- 作業 - 文章分析.pdf
請先至少練習 15分鐘再看解答
解答
2.2 程式碼撰寫
2.2.1 總頁數
因需要解析多張發票於同一份 PDF 文件中,所以利用以下程式碼先找出此文件共有幾頁 :
//總頁數
let pagesNumber = input.totalPages;
//根據總頁數 for loop
for (let i = 1; i <= pagesNumber; i++) {
//解析每一頁的程式碼放在此 loop 中
}
接著再利用此變數做 for loop 來一頁一頁解析
2.2.2 解析資訊
直接使用 valBounds 得到整頁的文字
要使用 option
ignoreHeader 來忽略頁首
ignoreFooter 來忽略頁尾
//有幾頁
let pagesNumber = input.totalPages;
//最後需要的文字串
let all_text = "";
for (let i = 1; i <= pagesNumber; i++) {
//忽略頁首頁尾
let option = { ignoreHeader: 0.1, ignoreFooter: 0.9, all: true };
let target = { valBounds: { page: i } };
let texts = input.resolveRange(target, option);
texts.forEach((text) => (all_text += text["text"]));
//插入換行符號
all_text += "\n";
}
console.log(all_text);
api.write("文章全文.txt", all_text);