【发布时间】:2016-02-18 19:18:43
【问题描述】:
我正在努力学习,是否可以在 C# 中创建一个需要满足要求的应用程序:
- 可以加载模板 PDF 文件,并在其上绘制一些文本(例如按像素定位)
- 将此文件保存在特定目录中
- 最重要的是……应用程序应该能够打印这样的 PDF 文件。我的意思不是在屏幕上打印,我的意思是在打印机上“静默”发送。
我听说,前两点可以通过 iTextSharp/iTextPdf 完成。但它是否允许我简单地将这个文件发送到打印机?我一直在寻找解决方案。
用户应该在选项中选择一次默认打印机,他所要做的就是在生成此类 PDF 文件后单击“打印”。我喜欢不会在后台打开 Adobe Reader 的解决方案。
是否有其他选择?
我知道可以像这样将图像发送到打印机,而无需在后台运行任何其他程序。但我需要它来处理 PDF。
private void SendToPrinter(string path)
{
PrinterSettings defaultprinter = new PrinterSettings();
PrintDocument pd = new PrintDocument();
pd.PrinterSettings.PrinterName = defaultprinter.PrinterName;
pd.PrintPage += (sender, e) => PrintPage(e, path);
pd.Print();
}
private void PrintPage(PrintPageEventArgs e, string path)
{
Bitmap bitma = new Bitmap(776, 538, PixelFormat.Format32bppArgb);
System.Drawing.Image dest = bitma;
Graphics graph = Graphics.FromImage(dest);
graph.Clear(Color.FromArgb(255, 255, 255));
Bitmap z = new Bitmap(path);
System.Drawing.Image img = z;
graph.DrawImage(img, new System.Drawing.Point(120, 350));
e.Graphics.DrawImage(dest, new System.Drawing.Point(0, 0));
}
PS。是的,我试过搜索。谷歌,stackoverflow,甚至很少看到类似的问题,但没有找到一个回答我所有问题的人。
【问题讨论】:
标签: c# pdf pdf-generation