In tệp PDF trong WPF — Hướng dẫn đầy đủ
Trong bài đăng trên blog trước của chúng tôi, 10 tính năng hàng đầu của Syncfusion WPF PDF Viewer , bạn đã khám phá các tính năng hàng đầu của WPF PDF Viewer. Trong bài đăng trên blog này, bạn sẽ tìm hiểu chi tiết chuyên sâu về một trong những tính năng cần thiết nhất của PDF Viewer: in tệp PDF . Các quy trình sau để in tài liệu PDF được giải thích trong blog này:
- In bằng hộp thoại in.
- In im lặng: in mà không có bất kỳ thông báo nào.
- In bằng ứng dụng bảng điều khiển.
- In hàng loạt.
- In hai mặt: in trên cả hai mặt giấy.
- In bằng dịch vụ Windows.
Bắt đầu nào.
Contents
In PDF bằng một cú nhấp chuột
Sau khi tải tệp PDF trong điều khiển Trình xem PDF, bạn có thể in tệp đó bằng cách chỉ cần nhấp vào biểu tượng intrên thanh công cụ.
Nó mở ra một hộp thoại in tương tự như trong ảnh chụp màn hình sau và cho phép bạn chọn máy in đích, phạm vi trang, số hoặc bản sao, hướng, in ra tệp và các chi tiết khác trước khi in tệp.
In im lặng
Tính năng in im lặng cho phép bạn in tệp PDF trực tiếp đến máy in mặc định mà không cần bất kỳ hộp thoại in nào. Bạn có thể chỉ cần sử dụng phương pháp In của Trình xem PDF để thực hiện in im lặng mà không bị gián đoạn.
PdfDocumentView pdfViewer = new PdfDocumentView();
pdfViewer.Load(@"Sample.pdf");
pdfViewer.Print();
Ngoài ra, bạn có thể tùy chỉnh số lượng bản sao, hướng trang, kích thước trang và tên tài liệu được hiển thị trong khi in và các chi tiết khác thông qua cài đặt máy in trước khi bắt đầu in.
pdfViewer.PrinterSettings.Copies = 2;
pdfViewer.PrinterSettings.PageOrientation = PdfViewerPrintOrientation.Portrait;
pdfViewer.PrinterSettings.PageSize = PdfViewerPrintSize.Fit;
pdfViewer.PrinterSettings.DocumentName = "Invoice";
pdfViewer.PrinterSettings.ShowPrintStatusDialog = false;
Bạn cũng có thể thực hiện in im lặng bằng cách gửi PDF đến một máy in cụ thể, thay vì máy in mặc định, bằng cách chuyển tên máy in làm tham số cho phương thức In . Ví dụ mã sau đây cho thấy cách in tệp bằng máy in “OneNote for Windows 10” một cách im lặng .
pdfViewer.Print("OneNote for Windows 10");
Mẫu để in im lặng có sẵn trong kho lưu trữ GitHub này .
In từ ứng dụng bảng điều khiển
Mặc dù WPF PDF Viewer là một thành phần giao diện người dùng, nó có thể được sử dụng trong ứng dụng bảng điều khiển để sử dụng các tính năng không yêu cầu bất kỳ tương tác nào của người dùng, chẳng hạn như in, xuất trang PDF dưới dạng hình ảnh và trích xuất văn bản từ tệp PDF. Bạn có thể sử dụng tính năng in im lặng trong ứng dụng bảng điều khiển để in tệp PDF. Một mẫu cho điều đó có sẵn trong vị trí GitHub này .
In hàng loạt
In hàng loạt cho phép bạn in âm thầm nhiều tệp PDF trong một bước duy nhất mà không bị gián đoạn. PDF Viewer cho phép bạn thực hiện in hàng loạt tệp PDF, bằng cách chọn tệp từ bộ sưu tập hoặc thả tệp vào một thư mục duy nhất và lặp lại các tệp. Đoạn mã sau đây cho biết cách in tất cả các tệp PDF có trong một thư mục.
PdfDocumentView pdfViewer = new PdfDocumentView();
// Get only the PDF files from a directory using search pattern.
string[] files= Directory.GetFiles("../../Data/", "*.pdf");
for(int i=0;i<files.Length;i++)
{
pdfViewer.Load(files[i]);
pdfViewer.Print();
pdfViewer.Unload(true);
}
Mẫu để in hàng loạt tệp PDF có sẵn trong kho lưu trữ GitHub này .
In hai mặt
In hai mặt (hay còn gọi là in hai mặt) cho phép bạn in trên cả hai mặt giấy. Điều không thể thiếu khi in tờ rơi, sách,… và tiết kiệm giấy. PDF Viewer có thể thực hiện in hai mặt nếu máy in của bạn có hỗ trợ in hai mặt tích hợp. Nếu máy in của bạn hỗ trợ in hai mặt, thì Trình xem PDF theo mặc định sẽ cho phép in hai mặt. Bạn có thể chọn cài đặt in hai mặt mong muốn và tắt chế độ in hai mặt, sử dụng thuộc tính Hai mặt của cài đặt máy in.
pdfViewer.PrinterSettings.Duplex = System.Drawing.Printing.Duplex.Simplex;
Dịch vụ in Windows
PDF Viewer cho phép bạn in các tệp PDF bằng ứng dụng dịch vụ Windows, đây là ứng dụng lý tưởng cho chức năng hoạt động lâu dài mà không làm phiền những người dùng khác đang làm việc trên cùng một máy tính. Khi dịch vụ bắt đầu, bạn có thể thực hiện in trong môi trường luồng đơn bằng cách chuyển một đại biểu đại diện cho phương thức in đến đối tượng Luồng như được hiển thị trong đoạn mã sau.
protected override void OnStart(string[] args)
{
// Set the threading model to STA.
Thread thread = new Thread(PrintPDF);
thread.SetApartmentState(ApartmentState.STA);
thread.Start();
}
Xác định phương thức in như sau.
void PrintPDF()
{
PdfDocumentView pdfViewer = new PdfDocumentView();
// Load the PDF document to be printed.
pdfViewer.Load(“Pass the full path of the PDF file to be printed here…”);
// Print the PDF document silently using the printer name.
pdfViewer.Print(“Pass your printer name here…”);
}
Lưu ý: Bạn cần chỉ định tên máy in bằng cách chuyển nó làm tham số trong phương thức Print như đã đề cập trong ví dụ mã trước. Nếu không, dịch vụ không thể phát hiện máy in, ngay cả khi máy in mặc định được đặt.
Mẫu Dịch vụ Windows để in tệp PDF có sẵn trong kho lưu trữ GitHub này .
Sự kết luận
Cảm ơn bạn đã đọc blog này. Tôi hy vọng rằng bạn đã thích khám phá chức năng in của Trình xem PDF WPF . Hãy thử sử dụng Trình xem PDF của chúng tôi trong ứng dụng của bạn và chia sẻ phản hồi của bạn trong phần bình luận bên dưới.
Nếu bạn đã là người dùng Syncfusion, bạn có thể tải xuống thiết lập sản phẩm trên trang tải xuống . Nếu không, bạn có thể tải xuống bản dùng thử 30 ngày miễn phí tại đây .
Nếu bạn có bất kỳ câu hỏi nào về các tính năng này, vui lòng liên hệ với chúng tôi thông qua diễn đàn hỗ trợ của chúng tôi , Direct-Trac hoặc cổng thông tin phản hồi . Chúng tôi rất vui khi hỗ trợ bạn!