テキストをアウトライン化し、そのパスデータを取得したいです。
Ghostscriptを使用しています。
PDFファイルをEPSファイルに変換し、それをSVGファイルに変換し、さらにそこからパスデータを抽出しました。
gs \ -dBATCH \ -dNOCACHE \ -dNOGC \ -dNOPAUSE \ -dNumRenderingThreads=3 \ -dQUIET \ -dSAFER \ -r24000 \ -sDEVICE=epswrite \ -sOutputFile=eps \ pdf gs \ -dBATCH \ -dEPSCrop \ -dNOCACHE \ -dNOGC \ -dNOPAUSE \ -dQUIET \ -dSAFER \ -sDEVICE=svg \ -sOutputFile=svg \ eps
この方法でもパスデータは取得できますが、処理に時間が掛かり過ぎるため別の方法を探しています。
補足
Ghostscript v8.71
追記1
もろな内容のページありますね。https://stackoverflow.com/questions/4548919/any-tips-for-speeding-up-ghostscript
namda さんありがとうございます。
-c "30000000 setvmthreshold"
のオプションを追加したところエラーになってしまいました。
Error: /undefined in pdf Operand stack: Execution stack: %interp_exit .runexec2 --nostringval-- --nostringval-- --nostringval-- 2 %stopped_push --nostringval-- --nostringval-- --nostringval-- false 1 %stopped_push .runexec2 --nostringval-- --nostringval-- --nostringval-- 2 %stopped_push --nostringval-- Dictionary stack: --dict:1155/1684(ro)(G)-- --dict:0/20(G)-- --dict:70/200(L)-- Current allocation mode is local Last OS error: 2
追記2
使えないものは飛ばしていいのでは無いでしょうか。Answersの上位3つぐらいは試してみるべきかと
namda さんありがとうございます。
一つ目の回答の -dNOGC
と -dNumRenderingThreads
のオプションはすでに使用しています。
二つ目の回答は、回答者も仰っているように、あまり効果を発揮しませんでした。
三つ目の回答は、PDFファイルの出力に使用するオプションなので無視されます。
回答1件
あなたの回答
tips
プレビュー