0

PDF ドキュメント内のテキストのインライン編集を可能にするプログラミング ライブラリが利用できるかどうか疑問に思っていました。ドキュメントにテキストを描画することは、私が今回求めているものではなく、これを可能にする多くの機能とライブラリをすでに認識しています。このような変更を加えることができるものを探しています (NEW は描画されず、たとえば文字列で編集されます):

「This is my document」は「This is my NEW document」になります。

... フォーマットを保持する必要があります (特に、ページの特定の領域内で編集が行われていない場合)。ワードラッピングのサポートも素晴らしいでしょう!

このようなものはありますか、それとも間違ったツリーで吠えていますか? 私はFPDF、PdfBox、さらにはGNOMEなどのさまざまな機能を調べましたが、運が悪かったです(tbh、GNOMEがそれを許可する可能性があると確信していますが、現時点では理解に時間がかかりすぎるため、これに関する指針は次のとおりですも素晴らしいです)。

これがすでに尋ねられている場合は、ありがとうございます。

プログラミング言語に関しては、C、C++、Java、PHP、Python、および Perl で提案されているものを喜んで利用します。

4

2 に答える 2

0

私のコメントをフォローアップするために、これはかなり典型的な生の PDF テキスト出力がどのように見えるかです - PDF リファレンスガイド 16-v4 のページ 1213 の収縮した部分:

36451 0 obj  % Contents
% used filter: FlateDecode
/GS2 gs
BT
/F1 1 Tf
8 0 0 8 297.417 105.667 Tm
0 0 0 1 k
0 Tc
0 Tw
(1213) Tj
/F5 1 Tf
24 0 0 24 253.784 617 Tm
[ (C) 19.1 (olophon) ] TJ
/F3 1 Tf
10.505 0 0 10.505 136.5 566 Tm
-0.0014 Tc
0.2018 Tw
[ (This do) -10.1 (c) -7.2 (u) -0.3 (men) 17.6 (t) -1.4 ( was p) 10 (r) 11.9 (o) -10.1 (d) 10.8 (uce) -7.2 (d) -1.3 ( usin) 6.6 (g ) 36.5 (A) 24.6 (d) 0.9 (o) 3.8 (b) -10.1 (e) ] TJ
8.4 0 0 8.4 326.25 570.2 Tm
0 Tc

.. これらのようなさらに数百行が省略されました。重要なポイント:Tfテキスト フォントを設定します (これは別の場所で定義されており、カスタム エンコーディングを使用している場合があります -- 常に ASCII であるとは限りません)。Tjテキストを「表示」します。Tm「現在の単位」で変換行列を設定します。「1213」の直後に「奥付」というテキストが続くかどうかは、両方の実際のサイズを知らずにすぐに確認することはできません。TcとはTwデフォルトの文字と単語の間隔を設定し、「スペース」を挿入するために悪用されることがよくあります。ただし、ここではありません。配列は、TJ散在するカーニング値を持つテキストフラグメントを指定します (それらの場所に基づいていると思います)。

この単一のテキスト行がそれ自体の行であるか、長い段落の一部であるかを判断することはできません。それが正当化された文字列であるかどうかを判断することさえできません。見つけるには、その左端と右端を他の行と比較する必要があります。

(この出力は、前述の参照を使用してゼロから作成した PDF リーダーで作成されています。)

おわかりのように、テキストを見つけるだけでも大変ですが、多かれ少なかれ成功しているライブラリがあります。それらのどれも (私が正しければ)、「任意の PDF」を編集できると自慢していません。

于 2013-08-27T22:47:47.683 に答える