PDFファイルのコードを表示および編集する方法

PDFファイルのコードを表示および編集する方法

PDFファイルのコードを見て編集する方法を知りたいです。

  1. 見てみると、バイナリ形式を見たくないので、hexdumpおそらく私が望むものではないようです。試しましたが、geditPDFコンテンツをデコードするために使用できるエンコード方法はありません。

  2. 編集を通じてsedなど/Fitで検索して変更したいと思います。/XYZしかし、私のコマンドは、sed s/\/Fit/\/XYZ/ < 1.pdf > 2.pdfエラーを報告していなくてもPDFの外観を期待どおりに変更しないようです。sedPDFファイルをプレーンテキストのように処理できるかどうかを知りたいです。

私の質問の背景は以下にあります。この問題。私のオペレーティングシステムはUbuntu 10.10です。

ベストアンサー1

最初の質問(「ソースは表示されますがバイナリはありません」)について:多くのオブジェクトにリンクされている内部バイナリストリームを解凍するために使用できるオプションがあります。

私の好きなツールは量子PDF、すべての主要なオペレーティングシステムプラットフォームで利用可能です。次のコマンド解凍するすべてのストリームとすべてのオブジェクトストリーム:

 qpdf --qdf --object-streams=disable orig.pdf expanded.pdf

これで、すべてのテキストエディタでPDFを開くことができます。 (たとえば、QPDF拡張には、意味のないフォントファイルやICCプロファイルなどのいくつかのバイナリ汚れがまだある可能性があります。)

到着再圧縮再編集後、expanded.pdf次を実行できます。

 qpdf expanded.pdf orig2.pdf

(PDFを手動で編集するときは注意してください!これを正しく実行するには、内部構文についてよく知っている必要があります。シングルバイトを追加または削除すると、PDFリーダーにエラーメッセージが表示され、編集できなくなる可能性があります。編集用に開くにはPDF内部ディレクトリが破損しているため、バイトオフセットに基づいて計算されますが、文字列Fitに置き換えるだけXYZです...)

おすすめ記事