2017-05-19 4 views
1

私はPDFに変換する必要がある棒グラフのSVGファイルを持っています。バープロットはmatplotlibで作成され、PDFとして保存され、Inkscapeにインポートされました。私はInkscapeを使用してFigureに注釈を追加し、PDFにエクスポートして最終的な文書に使用しました。SVGファイルをPDFに変換した後に白いグラデーションアーティファクトが残る

この

は、PDFファイルは、私はこれらの白い線と同じプロットを得るPDFとして数字上の他の場所にテキストを追加し、保存した後Inkscapeの

enter image description here

に行くように見えるものですenter image description here

これは一般的なPDFレンダリング成果物ではなく、より詳細な検査ではグラデーションがあることを示しています。

enter image description here

私は、これは何とかSVGファイルの製品だと思います。私はオンラインのSVG-to-PDFコンバータを使用していますが、ラインはまだ存在しています。さらに、この方法を使用して、私のすべてのFigure、MatplotlibをInkscapeに変換してPDFにしました。これは他の数字とは関係ありません。

+1

最小限のサンプルファイル(元のPDFとSVG)を提供できますか? – Juancho

答えて

1

プリセットされたInkscapeパターンと同じではないシェーディングタイプを持つ棒グラフをインポートすると、Inkscapeがこれを実行することがわかりました。 Rプログラム言語からグラフをインポートしてExcelをインポートしたときに、Matplotlibに固有のものだとは思わないので、この正確な問題を見てきました。私はこの問題を多く経験しているので、根本的な原因はわかりませんが、この問題が発生したときに私が通常採用している回避策のオプションを共有します。 1つは必ずしも他のものより優れているとは限らず、私が使用している状況によって異なります。

オプション1)他のプログラム(Gimp、Photoshop、Powerpoint ...)でPDFを.pngビットマップイメージに変換し、Inkscapeに画像を埋め込みます。変更を加えてInkscapeからPDFとして書き出します。これは、グラフがもはやベクトルマップではないという欠点を有する。オプション2または3を使用してベクトルマップにします。

オプション2)pdfをInkscapeにインポートし、pdfオブジェクトをグループ解除し、棒グラフの削除された塗りつぶしを削除してから、Inkscape madeフィルを使用して塗りつぶしを再作成します。最悪の場合、私は実際にInkscapeのカスタムバーグラフパターンを、以前のパターンと正確に一致させるために作成しました。このプロセスは痛みです。

オプション3)アーチファクトをカバーする図形を作成し、図形から境界線を削除し、目のドロッパーを使用して良い部分とまったく同じ色にします。

私はこれらが問題を学ぶための問題の学術的理解ではないと言いましたが、私はそれがあなたの仕事を達成するのを助けることを願っています。

+0

ありがとう、私はオプション1を使用する可能性があると思う。私は大幅に私の.pngをPythonでビルドし、少なくともベクトル化の一部を保存するためにpdfとしてエクスポートすることができます。私はこれが私のファイルサイズに何をするか見なければならないが、それは最良の選択肢かもしれない。私はInkscapeファイルを.pngとして保存していましたが、うまくいきましたが、私はすべてのベクトル化を緩和しました。 –

関連する問題