そのため、メタデータを埋め込んで(プログラムで)読み取り可能にしたい出力PDFファイルを作成するプログラムがあります。そして、それは非常に多くのデータです。
XMP 形式を使用してこれを行うように提案されました。しかし、それがうまくいくかどうかはわかりません。
このすべてを読みたくない場合は、最後の段落にスキップしてください。質問が理解できない場合は、ここに戻ってください...
私のファイルは次のような構造を持つ可能性があります:
Heading1
<indent>1.Question
<indent><indent>a)answer
<indent><indent>b)answer
<indent>2.Question
<indent><indent>a)answer
<indent><indent>b)answer
<indent><indent>c)answer
<indent>3.Question
<indent>4.Question
Heading2
<indent>1.Question
<indent>2.Question
<indent><indent>a)answer
すべての質問には親の見出しがあり、すべての回答には親の質問があります。このようなファイルには、無制限の数の見出し、見出しごとの無制限の数の質問、および各質問 0 ~ 5 個の回答を含めることができます。
プログラムが GUI で同じファイルをアセンブルできるようにするには、いくつかの情報が必要です。
次のことを知る必要があります。
見出しの数 (整数)
見出しの種類 (ブール値) (見出しには質問だけを含める必要はないため、これは必要ですが、簡単にするために例では他の種類の見出しを省略しました)
各見出し/質問/回答のテキストを含む文字列
例に従って、これは私の読み取り可能なファイルがどのように見えるかです:
2 //heading number
Q/4/headingText //type of heading/number of question/content
2/questionText //number of answers/content
answerText //content
answerText //etc...
3/questionText
answerText
answerText
answerText
0/questionText
0/questionText
Q/2/headingText
0/questionText
1/questionText
answerText
これは、ファイルが行ごとに読み取られると仮定すると可能です。最初の行は予想される見出しの数を示し、2 行目 (およびすべてのヘッダー行) は見出しの種類と次の見出しの前に予想される質問の数を示します。質問行は、回答コンテンツが含まれる後続行の数を示します。回答行にはコンテンツのみが含まれます。
これはすべて、「保存ファイル」に必要なものを説明するためのものです。
最後の段落
XMP でそれが可能なのですか? プロパティを行ごとに読み取り、複数の値を持つプロパティを関連付けることができますか、または少なくとも何らかの方法で、この機能を維持するために実装できる方法でいくつかのプロパティに分割できますか?
最も重要な質問は、XMP リーダー/ライター (iText) が XMP ファイルの非固定サイズを処理できるかどうかです。
私の代替案は、PDF ファイルの末尾にこれらの行を添付し (相互参照表を台無しにしないため)、それらをコメントアウトし (% を使用)、Java でそれらを探して解析する特別なリーダーを作成することです。行。