2

Apache fop によって生成され、pdfbox の OverlayPDF を使用してオーバーレイ レターヘッドが配置された PDF/A-1a ファイルであると思われるものがあります。preflight はファイルを OK として認識し (ただし、明らかに PDF/A-1b のみ)、Acroreader はドキュメントのプロパティで「PDF/A」モードで「タグ付き: はい」と表示します。それがどのように見えるかを見てみたいので、fopを微調整していくつかの小さな改善を加えることができます.

私の質問は、タグ付けされたコンテンツ (つまり、PDF のテキスト表現は char 出力のカーニングされたシーケンス) をどこで見ることができますか? 私はそこで少し迷っています - エディターを使用して検索するために、たとえばxmlファイルにドキュメント構造のテキスト出力を取得する別の方法はありますか? -ティア!

編集

レターヘッド自体はもともと Postscript であり、ghostscript を使用して PDF/A-1b に変換され、次に

java -jar pdfbox-app-2.0.0-RC3.jar OverlayPDF letter_plain.pdf \
   followingpages_letterhead.pdf -first firstpage_letterhead.pdf \
   letter_with_head.pdf

letter_plain.pdf は fop を使用して生成されます

fop -pdfprofile 'PDF/A-1a' -v -d -c my_fop_config.cfg -xml letter.xml \
   -xsl letter_to_fo.xsl -pdf letter_plain.pdf

使用されているバージョンは pdfbox 2.0 と fop 1.1 です。

letter_with_head.pdf が PDF/A-1a ではなくなった場合、質問は、fop 呼び出しに従って 1a である letter_plain.pdf に適用され、レターヘッドを取得するために別のソリューション (svg など) を選択する必要があります。その時。

編集 2

PDF の例はこちらにあります: https://www.magentacloud.de/share/j9qk7jfzyv - サンプルは 1 ページのみであるため、個別の followingpages_letterhead.pdf は必要ありません。

編集 3

私は、テキストが下のどこかに埋もれているのではないかと疑っていますがRoot/StructTreeRoot/ParentTree/Nums/[1]/[3]/P/P/P/P/P/P(P が何らかの形で をマップしていると仮定しfo:blockます)、pdf からテキストを表示する場所がどこにもありません。

4

1 に答える 1

2

手元にある PDF の構造ツリー エントリは、ページ コンテンツ ストリーム内のマークされたコンテンツにマップされます。例として、

Root/StructTreeRoot/K/[0]/K/[0]/K/[1]/K/[0]/K/[0]/K/[0]/K/[0]

ページ コンテンツ ストリームのこの部分にマップされます

/Span << /MCID 0 >> BDC
  BT
    /F15 11 Tf
    1 0 0 -1 0 9.163 Tm
    [ (Bes) 15 (tell-Nr) 48 (. 1) 34 (23) 6 (456) 29 (7) 40 (8) ] TJ
  ET
EMC

ご覧のとおり、追加の定義がないためTJ、この例のシーケンスで演算子を解析する以外に簡単に表示できるテキストはありません。そのため、タグ付けは、異なるビルディング ブロックのみを指すドキュメントの構造を定義するために使用されます。

さらに、アクセシビリティ サポートに関する情報もあります。ただし、これLangは構造ツリーで属性を指定する場合に限られます。

于 2016-06-26T20:39:42.167 に答える