PDFファイルのコードを見て編集する方法を知りたいです。
見てみると、バイナリ形式を見たくないので、
hexdump
おそらく私が望むものではないようです。試しましたが、gedit
PDFコンテンツをデコードするために使用できるエンコード方法はありません。編集を通じてsedなど
/Fit
で検索して変更したいと思います。/XYZ
しかし、私のコマンドは、sed s/\/Fit/\/XYZ/ < 1.pdf > 2.pdf
エラーを報告していなくてもPDFの外観を期待どおりに変更しないようです。sed
PDFファイルをプレーンテキストのように処理できるかどうかを知りたいです。
私の質問の背景は以下にあります。この問題。私のオペレーティングシステムは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
です...)