首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PDFCreator将打印TIFF而不是PDF

PDFCreator将打印TIFF而不是PDF
EN

Stack Overflow用户
提问于 2010-08-10 21:55:15
回答 1查看 2.5K关注 0票数 0

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

代码语言:javascript
复制
// 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,而是通过一个Save对话框提示我,让我可以选择输出,但可以选择一个TIFF文件(这是不需要的)。有人能给我指出正确的方向或提供一些建议吗?

谢谢,

Iulian

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-08-13 04:14:06

这只是一种猜测。我遇到了类似的问题--不是在以编程方式使用PDFCreator时(这超出了我的能力范围),而是在将它用作打印到PDF的标准打印机时。

首先,我使用了几天,没有任何问题。不是我安装的,而是我的搭档安装的。如我所说..。它只是工作,并创建了漂亮的PDF。

然后,不知何故,一定是有人在我们家的电脑上(我们是3个不同的人在使用它)改变了设置(可能是无意的),让它输出TIFF而不是PDF。对我来说,我的默认打印机名为"PDFcreator“,它把我搞糊涂了,为什么它突然要创建TIFF。

同时,我在用户界面的所有设置中进行了大量的检查,并学会了在出现问题时在哪里查找。

最新版本在其左侧树视图面板中列出了一个名为"Save“的项目。如果您选择它,您可以配置默认的文件名约定以及"Standard save format“。在我的例子中,在下拉列表视图中,选择了"TIFF“而不是"PDF”。

查看您的代码,您以某种方式调用了PDFCreator.exe (我不了解细节,但我可以在您的代码中看到此字符串)。我打赌是这样的:不知何故,你的代码用来运行的用户帐户将他的标准保存格式设置为TIFF。可能是您查看了打印机设置(在我的Windows XP上,我只需键入control printers,然后右键单击PDFCreator打印机名称以选择属性...)却没有发现任何可疑之处。

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

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3449684

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档