0

PDFテンプレートからPDFを作成する機能があります。テンプレートには 6 行のテキストが含まれています。

5行はフォント「Myriad Pro」にする必要があります。これはうまくいきます。残りの 1 行 (「名前」) は「TheSerif」フォントにする必要があります。このフォントは正規のベンダーから購入しました。この行は機能していないようです。関数はエラーをスローしませんが、出力 PDF では行が判読できません。

両方のフォントに同じ手順を使用しているため、2 番目のフォントが機能しない理由がわかりません。

  BaseFont Myriad = null;
  BaseFont TheSerif = null;

  Myriad = BaseFont.CreateFont("D:\\Drukwerk\\MYRIADPRO-REGULAR.OTF", BaseFont.WINANSI, BaseFont.EMBEDDED);
  TheSerif = BaseFont.CreateFont("D:\\Drukwerk\\TSer6C__.pfm", BaseFont.WINANSI, BaseFont.EMBEDDED);

  pdfFormFields.SetFieldProperty("name", "textfont",TheSerif , null); 
  pdfFormFields.SetFieldProperty("Function", "textfont",Myriad, null);
  pdfFormFields.SetFieldProperty("telephone", "textfont",Myriad, null);  
  pdfFormFields.SetFieldProperty("mobile", "textfont",Myriad, null);  
  pdfFormFields.SetFieldProperty("fax", "textfont",Myriad, null);    
  pdfFormFields.SetFieldProperty("emailadres", "textfont",Myriad, null); 

編集:フォントの作成を次のように変更しました

TheSerif = BaseFont.CreateFont("D:\\Drukwerk\\TSer6C__.pfm", 
                                BaseFont.WINANSI,
                                BaseFont.EMBEDDED, 
                                true, 
                                FileToByteArray("D:\\Drukwerk\\TSer6C__.afm"), 
                                FileToByteArray("D:\\Drukwerk\\TSer6C__.pfb"));

この関数は、pfb ファイルと afm ファイルをパラメーターとして受け取ります。現在、次のエラーが発生しています:「有効な .pfm ファイルではありません」

4

1 に答える 1

2

PFM ファイルは、Postscript フォント用のフォント メトリック ファイル (Printer Font Metric) です。このファイルには、文字描画コマンドは含まれていません。

PFM ファイルは通常、グリフ描画を含む PFB または PFA ファイルと一緒に使用されます。これは、使用する必要があるファイルです。

于 2012-10-19T10:24:03.187 に答える