我正在测试一个功能: 将PDF文档的每两张页面打印到一张纸上
下面的代码来源于spire帮助网站,
执行后结果: 两页是在一个页面中, 但是顶部和底部有空白, 请看下面图片
按逻辑应该需要调整页面方向, 我把下面的代码做了修改, 但问题没有解决
之前:
doc.PrintSettings.SelectMultiPageLayout(1, 2);
之后
doc.PrintSettings.SelectMultiPageLayout(1, 2, hasPageBorder: false, PdfMultiPageOrder.Horizontal);
还有就是代码中设置了acrobat pdf 打印机, 在打印时会有一个提示输入文件名的对话框弹出, 请问这个可以用设置为不弹出窗口吗?
另外, 还有一个功能询问,
能否实现acrobat软件的裁切功能,
使用场景:
例如, 还是上面的合并打印的例子, 我想先将每页的页边距裁切掉一些, 然后再合并打印
提前感谢!
- Code: Select all
//https://www.e-iceblue.cn/print/print-multi-pdf-pages-per-sheet-and-print-single-pdf-page-to-multi-sheets.html
namespace PrintPdfSilently
{
class Program
{
static void Main(string[] args)
{
Environment.CurrentDirectory = @"C:\Users\Administrator\Desktop";
//创建一个PdfDocument对象
PdfDocument doc = new PdfDocument();
//加载PDF文件
doc.LoadFromFile("test.pdf");
//指定打印机名称
doc.PrintSettings.PrinterName = "Adobe PDF";
//将PDF文档的每两张页面打印到一张纸上(排版格式为1行,2列)
doc.PrintSettings.SelectMultiPageLayout(1, 2, hasPageBorder: false, PdfMultiPageOrder.Horizontal);
//静默打印
doc.PrintSettings.PrintController = new StandardPrintController();
//打印文档
doc.Print();
}
}