抽出した画像からPDFを回復する

抽出した画像からPDFを回復する

単一ページイメージに関する情報です。PDFファイル:

$ pdfimages -list p1.pdf 
page   num  type   width height color comp bpc  enc interp  object ID
---------------------------------------------------------------------
   1     0 image     900  1100  rgb     3   8  image  yes        4  0
   1     1 mask      900  1100  -       1   1  image  no         4  0    

PDFから画像を抽出するには、次の方法を使用していますpdfimages

$ pdfimages -p p1.pdf ./p1
$ ls
p1-001-000.ppm  p1-001-001.pbm   p1.pdf 

出力 p1-001-000.ppmとは、p1-001-001.pbmそれぞれ以前に表示された「画像」と「マスク」に対応します。

convertその後、次の方法を使用して、pdftk2つの方法(「スタンプ」と「背景」)で「画像」と「マスク」から元のPDFを復元しようとしました。

$ for i in *.{ppm,pbm}; do convert $i $i.pdf; done
$ ls
p1-001-000.ppm  p1-001-000.ppm.pdf  p1-001-001.pbm  p1-001-001.pbm.pdf  p1.pdf
$ pdftk p1-001-000.ppm.pdf stamp p1-001-001.pbm.pdf output p1stamp.pdf
$ pdftk p1-001-000.ppm.pdf background p1-001-001.pbm.pdf output p1bkg.pdf
  1. p1stamp.pdfは空で(元とは全く異なるp1.pdfp1bkg.pdf、元のものと似ているように見えますが、p1.pdf右と下の境界線の周りはまだ異なります。

    pdfimages最初に表示される出力には「type」という列があります。

    タイプ

    画像タイプ。可能な値は、image(不透明画像)、マスク(モノクロ画像マスク)、smask(ソフトマスク画像)、stencil(色やパターンを描画するための単色マスク画像)です。

    注:PDFの画像の透明度は、2つの別々のPDFオブジェクト(画像用オブジェクトとマスク用オブジェクト)を使用して作成されます。透明画像に属するマスク/マスクは、常にリストの画像の直後にあります。

    PDFファイルでは、「マスク」、「マスク」、「ステンシル」が前景または背景として使用されますか?

    「透かし」とどう違うの? 「透かし」は常に背景として使用されますか?

  2. もう1つの問題は、両方の新しいPDFファイルがp1stamp.pdf476KBで、元のファイル(わずか94KB)よりはるかに大きいことですp1bkg.pdfp1.pdf次のコマンドを使用して新しいPDFファイルを圧縮しても、サイズは変更されません。

    $ pdftk p1bkg.pdf output p1bkgcomp.pdf compress
    

分割操作の反対の作業 pdfimages、つまり抽出された画像から元のPDFファイルを回復する方法を実際にどのように実行できますかpdfimages?では、外観とサイズが元のPDFファイルと同じか近いですか?

ありがとうございます。

ベストアンサー1

2番目の画像はマスクなので、マスクのように適用する必要があります。次のようにできます。

convert ./p1-001-000.ppm  ./p1-001-001.pbm -alpha Off -compose CopyOpacity -composite output.pdf

源泉

これによりPDFファイル下部の黒いエッジはマスクによって削除/非表示になりましたが、ファイルサイズははるかに大きく(485.3Kb対96Kb)、PDFページも大きくなります。 :

各ファイルのファイルプロパティのスクリーンショット

PDFは単なるレイヤーイメージ以上です。 PDFにはテキスト、書式なども含まれています。したがって、PDFファイルから画像を抽出すると、情報が失われます。この場合、LibreOffice Drawで元のPDFファイルを表示しても、画像の端はPDFページの端を超えて表示されません。 (それぞれの画像も異なるサイズに調整されているようです... - からDrawからPNGに抽出されたLibreOffice画像ここ比較しよう)

おすすめ記事