iTextSharp を使用して、プログラムでドキュメントを作成します。ドキュメント内のすべてのテキストはロシア語です。私は Tahoma フォントを使用しています。
private static void PrepareFonts()
{
_baseTahoma = BaseFont.CreateFont("c:/windows/fonts/tahoma.ttf", BaseFont.IDENTITY_H, BaseFont.EMBEDDED);
_tahomaBold = new Font(_baseTahoma, 10, Font.BOLD);
_tahoma = new Font(_baseTahoma, 10, Font.NORMAL);
_tahoma16Bold = new Font(_baseTahoma, 18, Font.BOLD);
_tahomaSmall = new Font(_baseTahoma, 8, Font.NORMAL);
}
ドキュメントが作成されたら、ボタンをクリックしてそのように印刷します。
RegistryKey adobe = Registry.LocalMachine.OpenSubKey(@"Software\Microsoft\Windows\CurrentVersion\App Paths\AcroRd32.exe");
if (adobe != null)
{
string path = adobe.GetValue("").ToString();
GenerateDocuments();
Process proc = new Process();
proc.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
proc.StartInfo.Verb = "print";
string pdfFileName = _invoice.FullName;
proc.StartInfo.FileName = path;
proc.StartInfo.Arguments = @"/p /h " + pdfFileName;
proc.StartInfo.UseShellExecute = false;
proc.StartInfo.CreateNoWindow = true;
proc.Start();
proc.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
if (proc.HasExited == false)
{
if (!proc.WaitForExit(5000))
proc.Kill();
}
proc.EnableRaisingEvents = true;
proc.Close();
}
しかし、紙の上には文字のない表の行だけがあります。文字も数字もありません。
要件仕様では、ユーザーはボタンをクリックしてドキュメントを印刷する必要があると書かれており、私はそのようにしなければなりません。ドキュメントを手動で開いたり、「画像として印刷」することはできません。
キリル文字の文書を印刷するにはどうすればよいですか?