在delphi中打印PDF文档出问题 ( 积分: 100 )

  • 主题发起人 主题发起人 赵振龙
  • 开始时间 开始时间

赵振龙

Unregistered / Unconfirmed
GUEST, unregistred user!
procedure TForm1.Button2Click(Sender: TObject);
var
AcroApp : variant;
AVDoc : variant;
PDDoc : variant;
begin
//AcroApp := CreateOleObject('Word.Application');
AcroApp := CreateOleObject('AcroExch.App');
AVDoc := CreateOleObject('AcroExch.AVDoc');
AVDoc.Open('c:/temp/dd.pdf', '');
AVDoc := AcroApp.GetActiveDoc;
AVDoc.printpagessilent(0,1,3,1,0);
AVDoc.close(1);
AcroApp.Exit;
VarClear(AVDoc);
VarClear(AcroApp);
end;

网上查了一下,几乎都是这样用的,但是执行到AcroApp := CreateOleObject('AcroExch.App')时,提示“EOleSysError,'无效的类别字符串'”,而把'AcroExch.App'换成'Word.Application')是可以通过的,不知道错在哪里了,我的Acrobat reader的版本是7.05。
 
procedure TForm1.Button2Click(Sender: TObject);
var
AcroApp : variant;
AVDoc : variant;
PDDoc : variant;
begin
//AcroApp := CreateOleObject('Word.Application');
AcroApp := CreateOleObject('AcroExch.App');
AVDoc := CreateOleObject('AcroExch.AVDoc');
AVDoc.Open('c:/temp/dd.pdf', '');
AVDoc := AcroApp.GetActiveDoc;
AVDoc.printpagessilent(0,1,3,1,0);
AVDoc.close(1);
AcroApp.Exit;
VarClear(AVDoc);
VarClear(AcroApp);
end;

网上查了一下,几乎都是这样用的,但是执行到AcroApp := CreateOleObject('AcroExch.App')时,提示“EOleSysError,'无效的类别字符串'”,而把'AcroExch.App'换成'Word.Application')是可以通过的,不知道错在哪里了,我的Acrobat reader的版本是7.05。
 
找个PDF的控件试试? 有PDF的控件。 当然,你想写也可以写。
 
可能是你没有装控件, 你装的 Acrobat reader在另保存时 能保存 word 格式不能, 如果不能,说明就是没控件.
 
为什么要另存为word?我举那个word.application的例子只是为了说明我的语法是没错的,和word没有关系呀,我只是想打开一个pdf文挡,然后打印.
 
后退
顶部