使用 C++ 在 WinRT 应用程序中静默打印 PDF 文件而不显示任何窗口

问题描述 投票:0回答:1

我正在使用 C++ 开发适用于 Windows 的 WinRT 应用程序。我有 PDF 文件的路径(存储在磁盘上)和打印机的名称。我的目标是以编程方式(静默)打印此 PDF 文件,而不显示任何窗口或打印机对话框。如何在我的 WinRT 应用程序中实现此目标?

我需要有关完成此任务所需的步骤、API 和技术的指导。任何见解、代码片段或建议将不胜感激。谢谢!

// #include <winrt/Windows.Data.Pdf.h>
// using namespace Windows::Data::Pdf;

winrt::hstring path = L"D:\\test.pdf";

StorageFile storagePdfFile = StorageFile::GetFileFromPathAsync (path).get ();

PdfDocument pdfDocument    = PdfDocument::LoadFromFileAsync (storagePdfFile, L"").get ();

int count      = pdfDocument.PageCount ();
int nPageIndex = 0;

while (nPageIndex < count) {

        PdfPage pdfPage = pdfDocument.GetPage (nPageIndex++);

    // This pdfPage need to be passed to the printer somehow, Not able to find a way
}
winapi printing c++-winrt windows-app-sdk
1个回答
0
投票

不幸的是,它无法使用 WinRT API 进行静默打印。未经确认的打印需要在安全/隔离级别进行工作,而不仅仅是 UI 级别。

更多信息请参见:https://github.com/microsoft/WindowsAppSDK/issues/124

© www.soinside.com 2019 - 2024. All rights reserved.