将 pdf 发送到打印机是我们日常生活中最常见的任务之一。例如,您可能需要在纸上打印合同、发票或简历,以便人们能够在不使用设备的情况下查看它们。本文通过以下七个示例向您展示如何使用 spire.pdf for .net 在 c# 和 vb.net 中打印 pdf 文档。
- 使用默认打印机打印 pdf
- 使用指定的打印机打印选定的页面
- 使用虚拟打印机将 pdf 打印到 xps
- 静默打印 pdf
- 以双面模式打印 pdf
- 将 pdf 打印成黑白色
- 将不同的页面范围打印到不同的纸盘
安装 spire.pdf for .net
首先,您需要添加 spire.pdf for .net 包中包含的 dll 文件作为 .net 项目中的引用。dll 文件可以从此链接下载或通过 安装。
pm> install-package spire.pdf
使用默认打印机打印 pdf
以下是使用 spire.pdf for .net 在 c# 和 vb.net 中使用默认打印机打印 pdf 文档的步骤。
- 创建一个 pdfdocument 对象。
- 使用 pdfdocument.loadfromfile() 方法加载 pdf 文件。
- 调用 pdfdocument.print() 方法直接使用默认打印机打印文档。
- c#
- vb.net
using spire.pdf;
namespace printwithdefaultprinter
{
class program
{
static void main(string[] args)
{
//创建一个pdfdocument对象
pdfdocument doc = new pdfdocument();
//加载一个pdf文件
doc.loadfromfile(@"c:\users\administrator\desktop\sample.pdf");
//使用默认打印机打印
doc.print();
}
}
}
imports spire.pdf
namespace printwithdefaultprinter
class program
shared sub main(byval args() as string)
'创建一个pdfdocument对象
dim doc as pdfdocument = new pdfdocument()
'加载一个pdf文件
doc.loadfromfile("c:\users\administrator\desktop\sample.pdf")
'使用默认打印机打印
doc.print()
end sub
end class
end namespace
使用指定的打印机打印选定的页面
以下是使用 spire.pdf for .net 在 c# 和 vb.net 中使用指定打印机打印 pdf 文档的步骤。
- 创建一个 pdfdocument 对象。
- 使用 pdfdocument.loadfromfile() 方法加载 pdf 文件。
- 通过 printsettings.printername 属性指定打印机名称。
- 使用 printsettings.selectsomepages() 方法或 printsettings.selectpagerange() 方法选择要打印的不连续页面或连续页面。
- 调用 pdfdocument.print() 方法执行打印。
- c#
- vb.net
using spire.pdf;
namespace printwithspecifiedprinter
{
class program
{
static void main(string[] args)
{
//创建一个pdfdocument对象
pdfdocument doc = new pdfdocument();
//加载pdf文件
doc.loadfromfile(@"c: \users\administrator\desktop\sample.pdf");
//指定打印机名称
doc.printsettings.printername = "hp laserjet p1007";
//选择要打印的页面范围
doc.printsettings.selectpagerange(1, 5);
//选择不连续的页面进行打印
//doc.printsettings.selectsomepages(new int[] { 1, 3, 5, 7 });
//打印文件
doc.print();
}
}
}
imports spire.pdf
namespace printwithspecifiedprinter
class program
shared sub main(byval args() as string)
'创建一个pdfdocument对象
dim doc as pdfdocument = new pdfdocument()
'加载pdf文件
doc.loadfromfile("c:\users\administrator\desktop\sample.pdf")
'指定打印机名称
doc.printsettings.printername = "hp laserjet p1007"
'选择要打印的页面范围
doc.printsettings.selectpagerange(1, 5)
'选择不连续的页面进行打印
'doc.printsettings.selectsomepages(new int[] { 1, 3, 5, 7 });
'打印文件
doc.print()
end sub
end class
end namespace
使用虚拟打印机将 pdf 打印到 xps
以下是使用 c# 和 vb.net 中的 microsoft xps document writer 将 pdf 打印到 xps 的步骤。
- 创建一个 pdfdocument 对象。
- 使用 pdfdocument.loadfromfile() 方法加载 pdf 文件。
- 通过 printsettings.printername 属性将打印机名称设置为 microsoft xps document writer。
- 使用 printsettings.printtofile() 方法设置打印文件的路径和名称。
- 使用 pdfdocument.print() 方法执行打印。
- c#
- vb.net
using spire.pdf;
namespace printpdftoxps
{
class program
{
static void main(string[] args)
{
//创建一个pdfdocument对象
pdfdocument doc = new pdfdocument();
//加载pdf文档
doc.loadfromfile(@"c: \users\administrator\desktop\sample.pdf");
//将打印机名称设置为 microsoft xps document writer
doc.printsettings.printername = "microsoft xps document writer";
//设置打印文件路径和名称
doc.printsettings.printtofile("printtoxps.xps");
//执行打印
doc.print();
}
}
}
imports spire.pdf
namespace printpdftoxps
class program
shared sub main(byval args() as string)
'创建一个pdfdocument对象
dim doc as pdfdocument = new pdfdocument()
'加载pdf文档
doc.loadfromfile("c:\users\administrator\desktop\sample.pdf")
'将打印机名称设置为 microsoft xps document writer
doc.printsettings.printername = "microsoft xps document writer"
'设置打印文件路径和名称
doc.printsettings.printtofile("printtoxps.xps")
'执行打印
doc.print()
end sub
end class
end namespace
静默打印 pdf
以下是使用 spire.pdf for .net 在 c# 和 vb.net 中静默打印 pdf 文档的步骤。
- 创建一个 pdfdocument 对象。
- 使用 pdfdocument.loadfromfile() 方法加载 pdf 文件。
- 通过 printsettings.printername 属性指定打印机名称。
- 将 printsettings.printcontroller 属性的值设置为 standardprintcontroller 类的实例,这将阻止打印过程的显示。
- 使用 pdfdocument.print() 方法执行打印。
- c#
- vb.net
using spire.pdf;
using system.drawing.printing;
namespace printpdfsilently
{
class program
{
static void main(string[] args)
{
//创建一个pdfdocument对象
pdfdocument doc = new pdfdocument();
//加载pdf文件
doc.loadfromfile(@"c: \users\administrator\desktop\sample.pdf");
//指定打印机名称
doc.printsettings.printername = "hp laserjet p1007";
//静默打印
doc.printsettings.printcontroller = new standardprintcontroller();
//打印文档
doc.print();
}
}
}
imports spire.pdf
imports system.drawing.printing
namespace printpdfsilently
class program
shared sub main(byval args() as string)
'创建一个pdfdocument对象
dim doc as pdfdocument = new pdfdocument()
'加载pdf文件
doc.loadfromfile("c:\users\administrator\desktop\sample.pdf")
'指定打印机名称
doc.printsettings.printername = "hp laserjet p1007"
'静默打印
doc.printsettings.printcontroller = new standardprintcontroller()
'打印文档
doc.print()
end sub
end class
end namespace
以双面模式打印 pdf
以下是在 c# 和 vb.net 中使用 spire.pdf for .net 以双面模式打印 pdf 文档的步骤。
- 创建一个 pdfdocument 对象。
- 使用 pdfdocument.loadfromfile() 方法加载 pdf 文件。
- 通过 printsettings.printername 属性指定打印机名称。
- 通过 printsettings.canduplex 属性确定打印机是否支持双面打印。如果是,请将 printsettings.duplex 属性设置为 duplex.defatult。
- 使用 pdfdocument.print() 方法执行打印。
- c#
- vb.net
using spire.pdf;
using system.drawing.printing;
namespace printinduplexmode
{
class program
{
static void main(string[] args)
{
//创建一个pdfdocument对象
pdfdocument doc = new pdfdocument();
//加载pdf文件
doc.loadfromfile(@"c: \users\administrator\desktop\sample.pdf");
//指定打印机名称
doc.printsettings.printername = "hp laserjet p1007";
//确定打印机是否支持双面打印
if (doc.printsettings.canduplex)
{
//设置为双面打印模式
doc.printsettings.duplex = duplex.default;
//打印文档
doc.print();
}
}
}
}
imports spire.pdf
imports system.drawing.printing
namespace printinduplexmode
class program
static void main(string() args)
{
'创建一个pdfdocument对象
dim doc as pdfdocument = new pdfdocument()
'加载pdf文件
doc.loadfromfile("c:\users\administrator\desktop\sample.pdf")
'指定打印机名称
doc.printsettings.printername = "hp laserjet p1007"
'确定打印机是否支持双面打印
if (doc.printsettings.canduplex)
{
'设置为双面打印模式
doc.printsettings.duplex = duplex.default
'打印文档
doc.print()
}
}
end class
end namespace
将 pdf 打印成黑白色
以下是使用 spire.pdf for .net 在 c# 和 vb.net 中以灰度打印 pdf 文档的步骤。
- 创建一个 pdfdocument 对象。
- 使用 pdfdocument.loadfromfile() 方法加载 pdf 文件。
- 通过 printsettings.printername 属性指定打印机名称。
- 将 printsettings.color 属性设置为 false,将彩色 pdf 打印成黑白。
- 使用 pdfdocument.print() 方法执行打印。
- c#
- vb.net
using spire.pdf;
namespace printingrayscale
{
class program
{
static void main(string[] args)
{
//创建一个pdfdocument对象
pdfdocument doc = new pdfdocument();
//加载pdf文件
doc.loadfromfile(@"c:\users\administrator\desktop\sample.pdf");
//指定打印机名称
doc.printsettings.printername = "hp laserjet p1007";
//以黑白色打印
doc.printsettings.color = false;
//打印文档
doc.print();
}
}
}
imports spire.pdf
namespace printingrayscale
class program
shared sub main(byval args() as string)
'创建一个pdfdocument对象
dim doc as pdfdocument = new pdfdocument()
'加载pdf文件
doc.loadfromfile("c:\users\administrator\desktop\sample.pdf")
'指定打印机名称
doc.printsettings.printername = "hp laserjet p1007"
'以黑白色打印
doc.printsettings.color = false
'打印文档
doc.print()
end sub
end class
end namespace
将不同的页面范围打印到不同的纸盘
以下是使用 spire.pdf for .net 在 c# 和 vb.net 中将不同页面范围打印到不同纸盘的步骤。
- 创建一个 pdfdocument 对象。
- 使用 pdfdocument.loadfromfile() 方法加载 pdf 文件。
- 为 printsettings.papersettings 事件注册自定义委托,该委托提供为 papersettings 事件提供数据。
- 设置 tray1 和tray2 的纸张来源。
- 使用 pdfdocument.print() 方法执行打印。
- c#
- vb.net
using spire.pdf;
using spire.pdf.print;
namespace printtodifferenttrays
{
class program
{
static void main(string[] args)
{
//创建一个pdfdocument对象
pdfdocument doc = new pdfdocument();
//加载pdf文件
doc.loadfromfile(@"c: \users\administrator\desktop\sample.pdf");
//为 printsettings.papersettings 事件注册委托
doc.printsettings.papersettings = delegate (object sender, pdfpapersettingseventargs e)
{
//将tray1 的纸张来源设置为 1-10 页
if (1 <= e.currentpaper && e.currentpaper <= 10)
{
e.currentpapersource = e.papersources[0];
}
//将tray2 的纸张来源设置为其余页面
else
{
e.currentpapersource = e.papersources[1];
}
};
//打印文档
doc.print();
}
}
}
imports spire.pdf
imports spire.pdf.print
namespace printtodifferenttrays
class program
shared sub main(byval args() as string)
'创建一个pdfdocument对象
dim doc as pdfdocument = new pdfdocument()
'加载pdf文件
doc.loadfromfile("c:\users\administrator\desktop\sample.pdf")
'为 printsettings.papersettings 事件注册委托
doc.printsettings.papersettings function delegate(byval sender as object, byval e as pdfpapersettingseventargs) as =
'将tray1 的纸张来源设置为 1-10 页
if 1 <= e.currentpaper and e.currentpaper <= 10 then
e.currentpapersource = e.papersources(0)
end if
'将tray2 的纸张来源设置为其余页面
else
{
e.currentpapersource = e.papersources(1)
}
end function
'打印文档
doc.print()
end sub
end class
end namespace
申请临时 license
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请 该email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用javascript。 获取有效期 30 天的临时许可证。