gpt4 book ai didi

c++ - PDFCreator 将打印 TIFF 而不是 PDF

转载 作者:行者123 更新时间:2023-11-28 01:10:45 26 4
gpt4 key购买 nike

我正在尝试将 RTF 文档转换为 PDF。我有这段代码:

// TestCOMPDF.cpp : Defines the entry point for the console application.
//

#include <windows.h>
#include <tchar.h>
#include <objbase.h>
#include <atlbase.h>

#import "MSVBVM60.DLL" rename ( "EOF", "VBEOF" ), rename ( "RGB", "VBRGB" ) //if you don't use this you will be in BIG trouble
#import "PDFCreator.exe"

int _tmain(int argc, _TCHAR* argv[])
{

CoInitialize(NULL);
{

CComPtr<PDFCreator::_clsPDFCreator> pdfObject;
HRESULT hr = pdfObject.CoCreateInstance(L"PDFCreator.clsPDFCreator");
pdfObject->cStart("/NoProcessingAtStartup", 1);

PDFCreator::_clsPDFCreatorOptionsPtr opt = pdfObject->GetcOptions();

opt->UseAutosave = 1;
opt->UseAutosaveDirectory = 1;
opt->AutosaveDirectory = "c:\\temp\\";
opt->AutosaveFormat = 0; // for PDF
opt->AutosaveFilename = "gigi13";
pdfObject->PutRefcOptions(opt);
pdfObject->cClearCache();
_bstr_t DefaultPrinter = pdfObject->cDefaultPrinter;
pdfObject->cDefaultPrinter = "PDFCreator";
hr = pdfObject->cPrintFile("c:\\temp\\RTF\\garage.rtf");

pdfObject->cPrinterStop = false;

while(true)
{
printf("sleep\n");
Sleep(1000);
if(pdfObject->cCountOfPrintjobs == 0)
break;
}

printf("done\n");

pdfObject->cPrinterStop = true;

pdfObject->cDefaultPrinter = DefaultPrinter;
}

CoUninitialize();

return 0;
}

当运行此代码示例而不是直接创建 PDF 时,它会通过“保存”对话框提示我,为我提供仅输出选项以及选择 TIFF 文件(不需要)的选项。有人可以指出我正确的方向或提供一些建议吗?

谢谢,

尤利安

最佳答案

这只是一个猜测...我有一个类似的问题——不是在以编程方式使用 PDFCreator 时(这超出了我的能力),而是在将它用作我的标准打印机来打印 PDF 时。

首先我用了几天没有任何问题。不是我安装的,而是我的伙伴安装的。就像我说的......它只是工作,并创建了漂亮的 PDF。

然后,不知何故,我们家用计算机上的某人(我们是 3 个不同的人使用它)必须更改设置(可能是无意中)以使其输出 TIFF 而不是 PDF。对我来说,我的默认打印机被命名为“PDFcreator”,这让我很困惑,为什么它突然想要创建 TIFF。

与此同时,我在其所有设置的用户界面中进行了大量探索,并学会了在出现问题时知道去哪里查看。

在其左侧 TreeView 面板中的最新版本列出了一个名为“保存”的项目。如果选择它,您可以配置默认文件名约定以及“标准保存格式”。在我的例子中,在下拉 ListView 中选择了“TIFF”而不是“PDF”。

查看您的代码,您正在以某种方式调用 PDFCreator.exe(我不了解详细信息,但我可以在您的代码中看到此字符串)。我敢打赌:不知何故,您的代码用来运行的用户帐户的标准保存格式设置为 TIFF。可能是您查看了打印机设置(在我的 Windows XP 上,我只是键入 control printers,然后右键单击 PDFCreator 打印机名称以选择 Properties...)并找到没什么可疑的。

但是,PDFcreator 将每个用户的设置存储到不同的位置,可能在 %userprofile%\local settings\temp\pdfcreator\... 中,甚至在注册表中...

关于c++ - PDFCreator 将打印 TIFF 而不是 PDF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3449684/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com