2017-07-21 1 views
0

PDFsharpを利用しているPDF印刷プロセッサーで作業中です& MigraDoc。私は2,000から10,000ページを含む、結合されたPDFを生成しています。このプログラムから生成されたPDFを印刷している印刷ベンダーは、すべての埋め込みフォントのためにファイルサイズとPDFの処理にかかる時間について不平を言っています。私はAdobe Acrobat Reader DCの埋め込みフォントを見て、完全に埋め込まれたフォントとサブセットがたくさんあることがわかります。C#.NET - PDFsharpとMigraDoc - あらゆる場所に埋め込まれたフォント - 大規模なファイルサイズ

文書全体で2つのフォントしか使用されていませんが、すべてのページのすべての要素にPDFの2つのフォントが埋め込まれているようです。つまり、ページに10個の要素があり、10,000ページある場合、それは20,000個の埋め込みフォントセットです。

私が最初に見たのは、PDFsharpで使用されているフォントオプション& MigraDocでした。フォントの埋め込みのオプションがあります。

var renderer = new PdfDocumentRenderer(true, PdfFontEmbedding.None);

var options = new XPdfFontOptions(PdfFontEmbedding.None);

using (var gfx = XGraphics.FromPdfPage(currentPage))//currentPage is of type PdfPage 
{ 
    gfx.MFEH = PdfFontEmbedding.None; 
    ... 

もともとこれら埋め込むオプションがPdfFontEmbedding.Alwaysに設定されますが、私は問題が解決されることを期待して.Noneにそれらを変更しました。そうではありませんでした。実際、何も変わっていません。同じ量のフォントが埋め込まれていて、同じサイズでした。

印刷業者が私に電話し、PDFを取り込んでポストスクリプトに変換してからPDFに戻し、ファイルサイズを3分の2に減らし、フォント埋め込みがすべて無くなったことを知らせました。

postscript(基本的には何もない)について私が知っていることは、ファイルが何らかの種類のベクター形式なのでフォントが埋め込まれていないと仮定し、テキストを選択できなくなりました。私はこれがクライアントまたはベンダーのための問題ではないと思います。彼らは、生成されたPDFをポストスクリプトファイルに変換してからPDFに戻すという考えに満足していたようです。

私はC#でこれらの変換を行う可能性のある方法を研究していますが、実際にはそれほど多くは見つかりませんでした。私はGhostscriptやGhostscript.Netの使い方についていくつか見てきました。それらのドキュメントはかなり欠けており、私は良い例は見ていません。

これらの変換を行う良い方法を知っている人はいませんか?PDFsharpおよび/またはMigraDocを使用して、フォントが埋め込まれないようにするか、この問題の別の良い解決方法を知っていますか?

答えて

0

PDFsharpまたはMigraDocを使用して新しい文書を作成する場合、フォントを使用する要素の数に関わらず、各フォントはPDFファイルごとに1つだけ埋め込まれる必要があります。

1ページずつ1000のPDF文書を作成し、1000ページの1つの文書に結合すると、1000コピーのフォントが作成されます。 PDFドキュメントをPDFsharpとマージするとき、サイズの最適化は行われません。
一度にすべてのページを含む1つのドキュメントを作成します。

あなたは次のように書いています。「つまり、ページに10個の要素があり、10,000ページある場合、埋め込まれたフォントセットは20,000個です。これは起こるべきではなく、私の経験では、1回の実行で10,000ページのドキュメントを作成するときには発生しません。
PDFsharpを使用してPDFファイルをマージすることはできますが、重複したフォントが得られます。

あなたが言及するフォント埋め込みオプションは、PDFファイルに追加される新しいコンテンツに適用されます。これらは、マージまたは変更されたPDFファイルに既に埋め込まれているフォントには影響しません。

+0

ありがとうございました。それは素晴らしい仕事をした。私の大きなPDFファイルの1GBから18MBへと変わった。クライアントはとても満足しています。 – shaneOverby

関連する問題