如何使用 Microsoft Print to PDF 获取生成的 PDF 文件的文件名

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

我基本上使用“Microsoft Print to PDF”打印机来打印文本。这工作正常,生成的 PDF 文件没有任何问题。

但是我想获取用户选择的 PDF 文件的完整路径,但我不知道如何操作。

enter image description here

用户单击“确定”,然后显示文件选择器:

enter image description here

该用户选择 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();
c++ winapi printing mfc
1个回答
0
投票

这可能会令人沮丧,但您可以考虑一些解决方法:

手动重命名:

使用 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/

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