web-dev-qa-db-ja.com

埋め込みフォントを使用してPDFをPowerPointの場合はEMF

PDFファイルを Windows EMF (拡張メタファイル)に変換する無料の(つまり無料の)方法はありますか? PDFに埋め込まれたフォントを使用するテキストがMSOffice PowerPointでも同じようにレンダリングされるような方法ですか?テキストを塗りつぶされたパスに置き換える必要があると思いますが、それは結果だけを表示したいので、編集はしません。

pstoedit を試しましたが、フォントの埋め込みが難しいようです。 フォント処理のマニュアル を見ると、-dtはテキストを塗りつぶされたパスに変換する必要があるように見えますが、この場合、パスは明らかに実際にポリゴンのみで、セグメントの終点を接続しますが、その間にベジェ曲線は作成しません。したがって、結果は奇妙に見えます。すべての「i」のドットとしてダイヤモンドを使用します。

私はいくつかの場所(例えば ここ )で inkscape ができることを読みましたPDFをEMFに変換するために使用されます。しかし、WindowsではPDFインポートはダイアログを表示せずにハングします。Linuxでは、インポートダイアログが表示されますが、唯一のオプションです。テキスト処理の場合、テキストをテキストのままにすることです。パスに変換できないため、埋め込みフォントがないと、代わりにシステムフォントを使用する必要があります。

ImageMagickconvertも試しましたが、画像がラスタライズされているようで、結果がぼやけて見えます。

1つのアプリケーション、つまりLaTeX式をPowerPointに埋め込む場合、 この投稿 は代替案を提案します(少なくとも そのうちのいくつか PDFの代わりに [〜#〜] dvi [〜#〜] を介して動作し、 [〜#〜] mhtml [〜#〜] EMFの代わりに。しかし、PDFを作成できるが、EMFは作成できないツールは他にもたくさんあります。一般的な問題は残っています。

私はWindows、Linux、OS Xにアクセスできるので、それが役立つ場合は、提案された回答でOSの任意の組み合わせを使用できます。完全な解決策がない場合でも、部分的な解決策が役立つ場合があります。例えば。テキストを塗りつぶされたパスに置き換えるPDFからPDFへのコンバーター。または、PDFからフォントを抽出し、それらを別々のファイルに保存するためのツール。他のツール(pstoeditやinkscapeなど)がフォントを取得して、テキストをレンダリングするために使用する場合があります。解決に向けた重要な一歩。

8
MvG

私はあなたと同じ問題に直面していました:私は何かに変換したいいくつかの.pdfファイル(各2ページ)を持っていました)Wordファイルにインポートできること。 somethingは、たまたま.emfでした(他のすべての形式は受け入れられませんでした)。

この回答は、コンソールの使用に慣れていることを前提としています。

ベクトル形式[〜#〜] x [〜#〜]をベクトル形式[に変換するための最適なツール〜#〜] y [〜#〜]inkscapeのようです。ただし、.pdfファイルをinkscapeに直接インポートする場合

  • コンソールの最初のページにのみアクセスできます(私の知る限り)
  • text-to-pathsオプションフラグ-Tを選択しても、テキストは適切に変換されません。

したがって、.pdfファイルをinkscapeが使用できるものに事前変換する必要があることがわかりました。 この回答 非常に便利で、特に pdf2svg について言及しました。私の最終的なシーケンスは次のとおりです。

pdf2svg input_filename.pdf interim_filename_%d.svg all
inkscape -T interim_filename_1.svg --export-emf=interim_filename_1.emf
(repeat for all additional pages of the .pdf)

画面に表示される限り、これらの.emfファイルをWindowsマシンに転送し、Windowsイメージビューアーを使用して開くと、結果は入力と同じになります。さらに、Windowsマシンに存在しないフォントを使用してカスタムメイドのLaTeXドキュメントでテストケースを試したところ、同じ結果が得られました。最初のpdf2svgステップをスキップすると、inkscapeの変換後に間隔が完全に台無しになりました。

私の場合、.pdfページの境界を削除する必要はありませんでした(フルページファイルを扱っていました)。 .pdfページのごく一部にのみ関心がある場合は、このような中間ステップが必要になることがあります。 この回答 からプルすると、pdfcropはそれを実行できるようです。

10
Jan

タイトルがEMFに言及しているにもかかわらず、OPの実際の目標は、すべてをベクターグラフィックとして保持しながら、PDFファイルをPowerPointに含めることであり、EMFは終わりではなく、そうすることを意味します。 IguanaTex は、PowerPointへのベクターグラフィック形式(PDF/PS/EPS/EMF)のインポートをサポートするようになりました。

IguanaTexを使用すると、ユーザーはEMFファイルをさらに編集する準備をする手間も省けます。EMF通常PowerPointに挿入されるファイルは画像として表示されます。グループ化を解除できます。 PowerPointオブジェクトですが、これにより、削除する必要のある無関係な形状が作成されます。IguanaTexがそれをクリーンアップします。

内部的には、IguanaTexは実際にPDFをEMFに変換して、PowerPointに含めます。これは の一部であるpdfiumdrawを使用して行います。 TeX2img 。実際のコマンドは( Github上のIguanaTexのソースコード を参照)です。

pdfiumdraw.exe --extent=50 --emf --transparent --pages=1 input.pdf

完全な開示:私はIguanaTexの開発者です。

2
leilu

PPTでフォーミュラを書く必要がある場合は、 IguanaTex PPTのアドインを使用できます。

それはラテックス分布に依存し、Tikzプロットも生成したい場合はImageMagickが必要になります。これは、PDFLatexの結果のPDFを、PPTでかなり見栄えのするPNGに変換するために使用されます。

より高品質の画像が必要な場合は、 スタンドアロン クラスを使用してconvertを使用できます(ImageMagickも必要です)。ここでは、定義されたDPIを使用してPNGまたはJPGを生成できます。または、ベクター形式としてPDF。

または、スタンドアロンを使用してpstoeditを呼び出し、WMFファイルを生成することもできます。

\documentclass[
   convert={command=\unexpanded{
     pstoedit\space-v \space -f\space emf \space convert.pdf \space convert.emf
   }}]{standalone}

出力と入力のファイル名を手作業で編集する必要があるようです。

0
josarn