C#打印pdf文件

通过调用其他的类库实现

先下载下面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(“打印失败!”);
        }
    }

此条目发表在C#分类目录,贴了, 标签。将固定链接加入收藏夹。

发表评论