2011-02-04 22 views
0

同じデザインで名前は異なる複数の証明書を作成する必要があります。だから、プレースホルダーのテキストを使って解凍したpdfファイルを作成しようとしましたが、それをテキストエディターで変更しようとしました。なんらかの理由でうまくいきませんでした。私は置き換えられたテキストの1文字しか見ることができませんでした。pdfのテキストボックスの値を変更する方法

epsファイルで同じことをしようとすると動作しますが、epsは(AFAIK)ページの向きを保持しないため、異なる名前で何かが異なる可能性があります。

これはうまくいかなかったのか、あるいは(sedを使って)pdfファイルのテキストボックスを変更する方法を知っている人はいますか?

(私はイラストレーターCS4でマスターPDFファイルを作成した)

はあなたに一般的に

+0

あなたが試したものと前後の文字列が何であるかを記入してください。 –

答えて

0

ありがとう、テキストエディタでPDFファイルを編集することは悪い考えです。 PDFは、移動しない様々なオブジェクトのバイトオフセットに依存します。

エディタがEOLバイト(またはeolバイトと考えるもの)を変更しないことを知っていて、テキストエントリのオブジェクトの長さを全体として変更しない場合は、大丈夫です。例えば

1 0 obj
<</Type/Annotation/Subtype/Widget/V(PlaceHolder Value)/T(Field Title)...>>
endobj

新しい値が長い "プレースホルダ値" よりであれば、あなたはねじ込みしています。

ほとんどのPDFにはかなりの圧縮バイナリデータが含まれています。そのデータの一部はEOL文字として誤解されます。それらを変更すると:
a:圧縮されたストリームを中断する
b:残りのPDFのバイトオフセットを変更する可能性があります。

私はPDFファイルをハックすると、私は常にヘキサエディタを使用します。

ボトムライン:PDFをテキストストリームとして混乱させないでください。 PDFライブラリーを使って、それらをPDFファイルとして混乱させる。選択した言語でフォームフィールドの値を変更できるのは確かです。

また、FDFとXFDFを調べて、それらがあなたに適しているかどうかを確認することもできます。どちらのファイル形式もフィールド/値のペアと、これらのペアで使用するフォームへの参照を格納します。 FDFはPDFの構文を使用し、XFDFはXML文法を使用します。 [X] FDFをエンドユーザに提供すると、記入済みのフォームが表示されます。

警告:フォームがReader Enabled(Acrobat(pro?)が必要)でない限り、[X] FDFを開いた後に表示されるフォームのバージョンを保存することはできません。もちろん、彼らは[X] FDFを保存することができますが、多くのユーザーはこのStrange New Formatを嫌うかもしれません。

関連する問題