通过调用其他的类库实现
先下载下面6个dll文件
很多网站都喜欢抄文章,说了这些dll,怎么说也得给出下在地址吧
资源下载 ftp://www.cadgj.com/PdfPlot.rar
部分文件为破解版,商业应用请慎重
//O2S.Components.PDFView4NET.dll
//O2S.Components.PDFRender4NET.dll
//FontBox-0.1.0-dev.dll
//IKVM.GNU.Classpath.dll
//IKVM.Runtime.dll
//PDFBox-0.7.3.dll
//这是引用的3个命名空间
using O2S.Components.PDFRender4NET;
using System.Drawing.Printing;
using O2S.Components.PDFRender4NET.Printing;
/// <summary>
/// 打印的代码
/// </summary>
/// <param name=”url”>要打印的PDF路径</param>
private int printShow(string url)
{
int isOK = 0;
PDFFile file = PDFFile.Open(url);
PrinterSettings settings = new PrinterSettings();
System.Drawing.Printing.PrintDocument pd = new System.Drawing.Printing.PrintDocument();
settings.PrinterName = “hp LaserJet 1160 PCL 5e”;
settings.PrintToFile = false ;
//设置纸张大小(可以不设置,取默认设置)3.90 in, 8.65 in
PaperSize ps = new PaperSize(“test”,4,9);
ps.RawKind = 9; //如果是自定义纸张,就要大于118,(A4值为9,详细纸张类型与值的对照请看http://msdn.microsoft.com/zh-tw/library/system.drawing.printing.papersize.rawkind(v=vs.85).aspx)
O2S.Components.PDFRender4NET.Printing.PDFPrintSettings pdfPrintSettings = new O2S.Components.PDFRender4NET.Printing.PDFPrintSettings(settings);
pdfPrintSettings.PaperSize = ps;
pdfPrintSettings.PageScaling = O2S.Components.PDFRender4NET.Printing.PageScaling.FitToPrinterMarginsProportional;
pdfPrintSettings.PrinterSettings.Copies = 1;
try
{
file.Print(pdfPrintSettings);
isOK = 1;
}
catch (Exception)
{
isOK = -1;
throw;
}
finally
{
file.Dispose();
}
return isOK;
}
//单击一个打印按钮进行打印
protected void btnPrint_Click(object sender, EventArgs e)
{
string url = “这里是PDF档的路径如:C:\\Documents and Settings\\AuYeungCK\\My Documents\\myfile\\aa1.pdf”;
int isOK =-1;
isOK=printShow(url);
if (isOK > 0)
{
Response.Write(“打印成功!”);
}
else {
Response.Write(“打印失败!”);
}
}