2017-02-09 3 views
0

現在、phantomjを使用して特定のWebページをレンダリングしています。 PDFが生成された後、私は生成されたPDFを適切なサイズに再スケーリングしています - 現在、元のサイズの約3分の1に縮小されています。ファントムの変換されたPDFを縮小されたPDFと比較すると、画像が整列していないことがわかります(換算された画像にはありません)。ghostscriptを使用してPDFを縮小すると画像が表示されない

ズームイン(3200%、〜問題が発生している領域)。青色画像(SVG)が暗いオン(PNG)を重ねている - の両方が完全に右側に整列されている(白い領域がPDFの一部である)) Converted

しかし、Ghostscriptを使用して、この画像をスケーリングするとき:gs -o /path/to/output.pdf -sDEVICE=pdfwrite -dPDFFitPage -r300x300 -g2676x2676 /path/to/input.pdf (それはダウンスケールスケールはなく、アップを取得した場合でも、画像がもはや位置合わせされない:。 enter image description here

(両画像はposition:absolute; right: 0;て配置するので、うまく右側に整列両方とも)

そのような行動を引き起こす原因とその回避方法を教えてください。

答えて

0

おそらく、Ghostscriptではなく、PDFコンシューマでの動作です。

あなたはGhostscriptの通過PDFファイルを実行し、pdfwrite装置を介してPDFファイルを作成するときに、絶対にないであることに注意することができ最初の必要性「リサイズ」、「マージ」または暗示任意の他の用語、「ダウンスケーリング」出力PDFファイルの内容が入力の内容と関係していることを確認します。

「概要」hereは、理由を説明しています。私はそれを読むことをお勧めします。

今私は、私たちに与えられていないPDFファイルを見ることなく絶対にはわかりませんが、圧倒的に高い理由は、算術演算の丸め誤差が出力PDFファイルの画像が正確には入力と同じ位置になります(これを避ける方法はありません)。

現在の変換マトリックスを「ズームイン」すると、座標の算術精度のわずかな違いに「ズームファクタ」が乗算されます。通常、オブジェクトがピクセルの1/2以上をカバーする場合、ピクセルは「オン」になります。スケーリングがうまくいけば、トップイメージのピクセルが**イメージであると仮定していることを簡単に意味する可能性があります下の画像はわずかに1/2ピクセルの下にあります。不一致が発生しました。

この種の問題は、変換の種類がなくても存在する可能性があります。熟練したグラフィックデザイナーはこれを認識し、問題の発生を防ぐ方法でコンテンツを作成します。正確に位置合わせする必要がある画像がないか、必要な場合は、画像を両方とも終了したい位置を超えて伸ばしてから、両方の画像の周りにクリッピング矩形を配置します。クリップ矩形がどのように拡大縮小されていても、画像は常に同じポイントでクリップされます。

関連する問題