我基本上使用“Microsoft Print to PDF”打印机来打印文本。这工作正常,生成的 PDF 文件没有任何问题。
但是我想获取用户选择的 PDF 文件的完整路径,但我不知道如何操作。
用户单击“确定”,然后显示文件选择器:
该用户选择 PDF 文件名/路径,并且 PDF 文件已正确创建。
现在我唯一的问题是我不知道 PDF 是在哪里创建的,因为用户可以选择他想要的任何文件夹。
问题:
这是代码的重要部分。
...
CPrintDialog printDlg(FALSE, PD_ALLPAGES | PD_USEDEVMODECOPIES | PD_NOPAGENUMS | PD_NOSELECTION);
// ask the user to select a printer
if (printDlg.DoModal() == IDCANCEL)
return FALSE;
CDC m_dc;
// Attach a printer DC
if (!m_dc.Attach(printDlg.GetPrinterDC()))
return FALSE;
...
m_dc.StartPage();
...
m_pDC->DrawText(...
...
m_dc.EndDoc();
这可能会令人沮丧,但您可以考虑一些解决方法:
手动重命名:
使用 Microsoft Print to PDF 后,系统会提示您保存生成的文件。这是您在保存之前重命名的机会。 第三方工具(适用于[高级用户][1]):
某些第三方软件程序可以拦截打印过程,并允许您在创建 PDF 之前自定义输出文件名。这些工具可能涉及虚拟打印机或 PDF 操作软件。然而,这种方法需要额外的设置和[技术知识][1]。 替代打印选项:
考虑使用不同的 PDF 创建方法,以提供对文件名的更多控制。一些选项包括: 从程序中导出为 PDF:许多程序(例如 Microsoft Word 或 Web 浏览器)允许您使用自定义文件名直接将文档导出为 PDF。 在线 PDF 创建工具:有免费和付费的在线工具,可让您上传文档并将其下载为具有所需文件名的 PDF。 虽然 Microsoft Print to PDF 缺乏文件名自定义功能,但这些替代方法可以帮助您实现对生成的 PDF 文件名的所需控制。 https://www.webhostingpk.com/