30

ベクター画像を含む PDF をラスター画像を含む PDF に変換する簡単な (スクリプト可能な) 方法はありますか? つまり、まったく同じ (ラスタライズされていない) テキストを使用して PDF を生成したいのですが、各ベクター画像はラスタライズされたバージョンに置き換えられています。

私は時々、Kindle で技術記事の PDF を読んでいますが、PDF を直接読むのはイライラします。ありがたいことに、Amazon のPDF の Kindle フォーマットへの自動変換は、私が試したほとんどの PDF のテキスト部分をうまくリフローしてくれる。ただし、ラスター イメージは変換プロセスを問題なく通過するように見えますが、ベクター イメージはひどく壊れてしまいます。すべてのベクター画像がラスタライズされるように、PDF を簡単に変換できれば素晴らしいと思います。

可能なソリューションに興味がありますが、Linux または Windows ベースのソリューションが望ましいでしょう。

4

8 に答える 8

11

「 PDFファイルからすべてのテキストを削除する」および「既存のPDFファイルに画像を追加する方法」に基づいて、いくつかの解決策を探した後、(醜い)スクリプト可能な解決策を見つけました:

gs -o /tmp/onlytxt.pdf -sDEVICE=pdfwrite -dFILTERVECTOR -dFILTERIMAGE $INPUT_FILE && \
gs -o /tmp/graphics.pdf -sDEVICE=pdfwrite -dFILTERTEXT $INPUT_FILE && \
convert -density $DPI -quality 100 /tmp/graphics.pdf /tmp/graphics.png && \
convert -density $DPI -quality 100 /tmp/graphics.png /tmp/graphics.pdf && \
pdftk /tmp/graphics.pdf stamp /tmp/onlytxt.pdf output $OUTPUT_FILE && \
rm /tmp/onlytxt.pdf /tmp/graphics.pdf /tmp/graphics.png

INPUT_FILE、OUTPUT_FILE、DPI の 3 つの変数があるとします。Ghostscript を介してテキストとグラフィック コンテンツを分割し、グラフィック イメージをラスター イメージ (PNG) に変換し、pdftk を使用して 2 つを結合します。

私はこれをうまく使って、巨大なベクター画像を科学論文で使用するために変換しています。

于 2017-12-20T16:35:56.837 に答える
1

It's a little complicated, but you asked for any possible solution. Furthermore this solution is not automatable.

1) Open the pdf with the vector images in Inkscape. Then select the whole image with the select tool (F1)

2) If the vector image is consistant of more than one svg graphic press Ctrl + G (Object --> Group)

3) cut the grouped svg image Ctrl + x

4) open a new InkScape Window Ctrl + n and paste the image Ctrl + v

5) choose File --> export Bitmap (Shift + Ctrl + e), maybe you want to increase the dpi

6) go back to the first InkScape window, File --> import (Ctrl + i) and choose the previously exported bitmap

7) place the bitmap to the location where the svg image was

Save the pdf and the vector image is replaced by a bitmap image.

于 2013-02-06T18:50:56.970 に答える
1

問題を解決する 1 つの方法を次に示します。

ステップ 1: 次のようなオンラインの PDF から HTML へのコンバーターを使用します。

http://www.idrsolutions.com/online-pdf-to-html5-converter/

このツールは、PDF を一連の画像とテキスト オーバーレイに変換します。この時点で、ベクター画像をラスターに変換する必要があります。

ステップ 2: HTML+画像を PDF に変換します。

http://pdfcrowd.com/#convert_by_upload+with_options

結果として得られる PDF では、すべてのベクター画像がラスタライズされ、テキストはすべてテキストのままになるため、選択、コピーなどを行うことができます。

于 2013-02-07T13:40:18.757 に答える
1

https://jwilk.net/software/pdf2djvuコンバーターで pdf を djvu に変換します。「アンチエイリアス フォント、ベクター」のチェックを外します。これにより、ファイル サイズが大幅に縮小され、ドキュメントの読み込み時間が短縮されます。

于 2017-12-16T15:58:39.780 に答える
0

私は以下を使用しました:

gswin32c -o "%2" -dFirstPage=1 -dLastPage=1 -sDEVICE=pngalpha -r72x72 -dUseCropBox -dFitPage "%1" -dBATCH -dNOPAUSE

%1入力ファイル、%2は出力です。これは LaTeX で使用できます。生成された PNG は元の PDF と同じ比率とページ サイズを持つため、画像の相対的な位置は変わりません。

gsLinux では、ではなくを使用する必要がある場合があることに注意してくださいgswin32c

ページ範囲を設定してから、ページを PDF に印刷することもできます。欠点は、テキストもラスタライズされることです。

于 2016-11-15T16:05:23.417 に答える