我使用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();
}
但是在纸上只有来自表格的行没有任何字符。没有文字或数字。
在要求规范中写道,用户必须在按钮点击时打印文档,我必须这样做。手动打开文档和“打印为图像”是不可能的。
任何人都可以提出建议,我该如何打印西里尔文件?
答案 0 :(得分:0)
@Drac当我打开文件时,我看到西里尔字符;当我打印文件(正常打印)时,我看到西里尔字符。如果某台打印机无法正确打印文档,则需要查看打印机驱动程序(可能是您使用的错误)或打印机。