多くのAcroformフィールドを含むPDFファイルを解析し、各フィールドのフィールド名(PDFマークアップでは/ T)と値(PDFマークアップでは/ V)を抽出する必要があります。このクライアント側をJavaScriptで実行したいのですが、これを実行しているように見える既存の例やライブラリが見つかりません。誰かがそれにアプローチする方法について何か提案がありますか?
編集:パフォーマンス上の理由から、このクライアント側を実行したいと思います。PDFからフィールド値を取得し、データベースに保存します。ただし、一部のフィールドでは、保存する前に追加の入力を求めるプロンプトを表示する必要があります。これをすべてクライアントで行い、PDFをサーバーにアップロードしてサーバーで解析し、追加の入力が必要なフィールドをクライアントに返送する代わりに、値をサーバーに送信して保存したいと思います。それらの結果を送信して保存します。
PDFから必要なものを解析するのはそれほど難しくないことがわかり、ライブラリはおそらくやり過ぎでしょう。私が使用しているコードは次のとおりです。
function importPdf(event) {
const reader = new FileReader();
reader.onload = function () {
const matches = reader.result.match(/((obj)[\s\S]*?(endobj))/g);
matches.forEach(match => {
const tIndex = match.indexOf('/T (');
const vIndex = match.indexOf('/V (');
if(tIndex > -1 && vIndex > -1) {
const fieldNameSegment = match.substring(tIndex + 4);
const fieldNameValue = fieldNameSegment.substring(0,fieldNameSegment.indexOf(')'));
const valueSegment = match.substring(vIndex + 4);
const dataValue = valueSegment.substring(0, valueSegment.indexOf(')'));
console.log(fieldNameValue, dataValue);
}
});
}
reader.readAsText(event.target.files[0]);
}
<input type="file" id="file-input" onchange="importPdf(event)">
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加