问题描述
我正尝试从生成的pdf文件中进行打印,以复制80毫米宽的卷筒打印输出。即将pdf打印为自定义的80mm宽页面类型。
我使用下面的代码发送此文件,文件名为80 x 297mm,与物理热敏打印机的纸张尺寸相对应。我无法弄清楚为什么pdfiumviewer在80mm宽的纸张上将打印机的输出缩小到只有20mm宽的情况。当我直接从EDGE或Adobe打印PDF时,pdf恰好适合纸张。我不知道为什么它会缩小。
如果有人有解决方案或更好的方式将PDF静默打印到目标打印机,我很乐意提出建议。
public bool PrintPDF(string printer,string paperName,string filename,int copies)
{
try
{
// Create the printer settings for our printer
var printerSettings = new PrinterSettings
{
PrinterName = printer,Copies = (short)copies,};
// Create our page settings for the paper size selected
var pageSettings = new PageSettings(printerSettings)
{
Margins = new Margins(0,0),};
foreach (PaperSize papersize in printerSettings.PaperSizes)
{
if (papersize.PaperName == paperName)
{
pageSettings.PaperSize = papersize;
break;
}
}
// Now print the PDF document
using (var document = PdfDocument.Load(filename))
{
using (var printDocument = document.CreatePrintDocument())
{
printDocument.PrinterSettings = printerSettings;
printDocument.DefaultPageSettings = pageSettings;
printDocument.Print();
}
}
return true;
}
catch
{
return false;
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)