0

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();
        }

しかし、紙の上には文字のない表の行だけがあります。文字も数字もありません。

要件仕様では、ユーザーはボタンをクリックしてドキュメントを印刷する必要があると書かれており、私はそのようにしなければなりません。ドキュメントを手動で開いたり、「画像として印刷」することはできません。

キリル文字の文書を印刷するにはどうすればよいですか?

4

1 に答える 1

0

@Drac ファイルを開くと、キリル文字が表示されます。ファイルを印刷すると (通常の印刷)、キリル文字が表示されます。ドキュメントを正しく印刷できないプリンターがある場合は、プリンター ドライバー (間違ったドライバーを使用している可能性があります) またはプリンターを確認する必要があります。

于 2012-12-04T10:00:05.820 に答える