我在delphi里加入了adobe reader的activex控件.
然后想通过程序控制打印pdf文件
下面是我的打印代码
procedure TForm1.Button1Click(Sender: TObject);
var
  mypdf:TPdf;
begin
mypdf:=TPdf.Create(self);
mypdf.LoadFile('c:\1.pdf');
mypdf.printAll;
mypdf.Free;
end;
但是只有第一次打印成功,因为跳出一个警告筐,好像是说正在用script打印pdf文件,
问是不是继续,还有一个选择筐选择以后不再显示次对话框。
然后我选了,并且点击是继续打印,这是唯一一次打印成功。以后不论怎么运行程序都没有办法打印了。
不知道各位高手有没有这方面的经验。pdf文件到底怎么打印?

解决方案 »

  1.   

    adobe reader不能打印吗?
      

  2.   

    最笨的办法,调用adobe reader
    uses ShellAPI;  ShellExecute(handle,nil, PChar('c:\1.pdf'),nil,nil,SW_SHOWNORMAL);
      

  3.   

    inforum(坛中人,来捧个场!) 谢谢你的捧场
    但是这个是多余的,因为我用adobe reader的ocx控件,
    我可以在窗体上显示pdf文件,当然也可以显示工具栏,点击工具栏上的打印是可以的
    但是为了美观,我把工具栏隐藏掉了,而且我不希望用户用工具栏工具
    所以只能用程序控制。