1

私はこのようなPDFを持っています:

ここに画像の説明を入力

テキスト コンテンツに関連するすべての余白は、ページごとに異なります。

これを修正できるツールはありますか?

Scan Tailorがビットマップでこれを実行できることは知っていますが、これはテキストレイヤーのみのPDFであるため、どの段階でもビットマップを含むソリューションを求めていません


更新

主な機能は Ghostscript によって提供されるため、Windows で PDFCrop を実行する必要はありません。このコマンド (pdfcrop perl スクリプトから取得):

gswin32c.exe -dSAFER -dNOPAUSE -dBATCH -q -r72 -sDEVICE=bbox -f input.pdf 2> bbox.txt

あたかもマージン (バウンディング ボックス) がないかのように、テキスト コンテンツの寸法を含む bbox.txt ファイルを生成します。次のようになります。

%%BoundingBox: 91 259 474 757
%%HiResBoundingBox: 91.000000 259.000000 474.000000 757.000000
%%BoundingBox: 85 224 470 768
%%HiResBoundingBox: 85.000000 224.000000 469.375000 768.000000
%%BoundingBox: 102 217 489 768
%%HiResBoundingBox: 102.000000 217.000000 488.457031 768.000000
...

ここで、最初の数字は左下隅の x、y 値で、残りの 2 と右上は左下端から測定されます (ピクセル/ポイント単位)。

これは、ユーザーが選択した言語で読み取ることができ、bbox は必要に応じて修正され、ここで参照されているように Ghostscript に再度渡されます: Ghostscript 9.01 を使用して PDF を切り取る

4

1 に答える 1

1

テキストのみが含まれていることが確実な場合 (テキストが描画された画像やシンボルを描画するパスは含まれない)、iText を使用して Java でそのようなツールを非常に簡単に構築できます (または、iTextSharp を使用する .NET 言語も使用する可能性が最も高い)。パーサー パッケージの機能。

iText in Action 第 2 版の第 15.3.4 章に、テキスト マージンを見つける方法が示されています。サンプル コードは、SourceForge iText SVN リポジトリのShowTextMargins.javaにあります。

個々のページの MediaBox エントリを操作することで、必要に応じて余白を調整できます。

于 2012-10-11T09:50:50.963 に答える