私は、レンダリングされた画像シーケンスをPDFに出力するためのblender用のPythonスクリプトを開発しようとしています。私はImagemagickを使ってPDFに変換していますが、その部分はうまくいきますが、サムネイルプレビューをPDFにも含めたいと思います。sedを使ってPDF属性を編集する
PDF形式はちょっと混乱しますが、/PageMode
タグと/UseThumbs
タグが見つかりました。これらのタグを正しくファイルに挿入する方法を見つけました。私はこれを手動で行うことができ、それはかなりうまくいく。しかし、私は手作業で行う必要なしに同様の結果を得ようとしてきましたが、結局スクリプトを書いています。ここで追加のタグ付きPDFのヘッダデータの一例の抜粋です:
%PDF-1.3
1 0 obj
<<
/Pages 2 0 R
/PageMode
/UseThumbs
/Type /Catalog
>>
endobj
2 0 obj
<<
/Type /Pages
/Kids [ 3 0 R 17 0 R 31 0 R ]
/Count 3
>>
私が働いても4番目と5番目のライン、上の必要に応じてタグを挿入するためにsedを使用しようとしていますが、しかし、 PDFを開くと、画像が壊れてしまいます。私が手動で編集したPDF(破損していない)とnotepad ++のsedで編集したPDF(破損している)を比較すると、ファイルに違いはありません。異なる文字数がありますが、差異の場所が見つかりません
私は、PDFにオフセットの相互参照テーブルがあることを理解していますが、手作業で行うと何かが損なわれないのですが、それはsedと腐敗を作成する
私は間違って何ですか?
2つのファイルをどこかに投稿して両方を見ることはできますか? – janos
バイト数がオフだが違いを視覚的に確認できない場合、CR/LFの問題があることを示唆しています。実際のサンプルPDFが役に立ちます。 – usr2564301
*手作業で行うと何も変わっていません* - 一部のPDFビューア、つまりAdobe Readerは、処理することが知られている特定の種類のダメージを無視する傾向があります。処理できません。したがって、手動による変更によってファイルが破損した可能性があります。 @ Jongwareの仮定が差異が行区切り文字であると仮定した場合、真である(sedはファイル*を行ごとに読み*し、書面では常にその行末を使用する)、圧縮されたストリームの行区切り文字を変更すると、壊せ。 – mkl