0

我正在尝试将多个文件从一个文件夹发送到打印机。现在,我只能将一个文件从文件夹发送到打印机。但是我想打印文件夹中的文件。我正在使用 ASPOSE.PDF 我试图修改以下代码但没有成功:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Aspose.Pdf;
using System.Drawing;
using Aspose.Pdf.Facades;


namespace Printer
class Program
{
    static void Main(string[] args)
    {


        PdfViewer viewer = new PdfViewer();
        viewer.BindPdf(@"C:\Printing\Hello.pdf");

        System.Drawing.Printing.PrinterSettings printersetting = new System.Drawing.Printing.PrinterSettings();
        printersetting.Copies = 1; //specify number of copies
        printersetting.PrinterName = "Conan-printer"; // name of default printer to be used

        System.Drawing.Printing.PageSettings pagesetting = new System.Drawing.Printing.PageSettings();
        pagesetting.PaperSource = printersetting.PaperSources[1]; //assign paper source to pagesettings object
        //you can either specify the index of the tray or you can loop through the trays as well.

        viewer.PrintDocumentWithSettings(pagesetting, printersetting);

        viewer.Close();

       }
    }

  }
4

1 回答 1

0

您可以将上述代码复制到一个新方法,该方法接受 pdf 文件路径作为参数。在 main 方法中,从文件夹加载文件,然后为每个文件调用该方法。下面是一个例子。

// Load pdf files from a folder
string folderPath = @"E:\Loans\cirruslsdemo\HICODistributing";
string[] files = Directory.GetFiles(folderPath, "*.pdf");

// Print pdf files one by one
foreach (string pdfFile in files)
{
    printDocument(pdfFile);
}

private void printDocument(string pdfFile)
{
    PdfViewer viewer = new PdfViewer();
    viewer.BindPdf(pdfFile);

    System.Drawing.Printing.PrinterSettings printersetting = new System.Drawing.Printing.PrinterSettings();
    printersetting.Copies = 1; //specify number of copies
    printersetting.PrinterName = "Conan-printer"; // name of default printer to be used

    System.Drawing.Printing.PageSettings pagesetting = new System.Drawing.Printing.PageSettings();
    pagesetting.PaperSource = printersetting.PaperSources[1]; //assign paper source to pagesettings object
    //you can either specify the index of the tray or you can loop through the trays as well.

    viewer.PrintDocumentWithSettings(pagesetting, printersetting);

    viewer.Close();
}
于 2014-10-27T05:08:35.617 回答