OLE打印PDF(Perl)

跟ABAP没有什么关系。只是可以说明OLE提供了转PDF的处理方式。

Printing PDF files using Win32::OLE and Acrobat Exchange

Posted by Domenico Discepola on July 15, 2004, 3:56 pm
Hello.  My goal is to print Adobe PDF files from a Perl script without any
user intervention.  I have been experimenting with various methods and am
now trying to use Win32::OLE to control Adobe Acrobat Exchange (v5.0.5).
Please refer to the code below.  I can create the acrobat object, open the
document and retrieve some information from the document.  My problems are:

1. Although I make acrobat visible using the show method, only the
application becomes visible, not the document.  How do I fix this?

2. What is the method to print the document once it has been opened?  The
"PrintPagesEx" method produces an error "Win32::OLE 0.1701) error
0x80020003: "Member not found" in METHOD/PROPERTYGET "" at jps2.pl line 30".
I then tried to loop through the hash referenced by the $doc variable but no
output from the hash was printed.

3. As an aside, if someone can provide me with the class name for Acrobat
Reader (not Acrobat exchange, as I have coded below) that would be great (or
inform me how to find it).  I am relatively inexperienced in the world of
OLE Automation so any hints would be helpful.


##############
#!perl
use strict;
use warnings;
use diagnostics;
use Win32::OLE;
use Win32::OLE::Const "Acrobat";
our $g_file_input = shift @ARGV;
die "Usage: $0 filenamen" unless $g_file_input;

sub process_main {


 #This does not work



}

sub main {
 print "PDF programn";
 &process_main();
 print "Ending nown";
}

&main();
exit 0;
###############

Posted by Matt Garrish on July 15, 2004, 8:43 pm


(or


4.1 Differences Among the Acrobat Viewers

Acrobat supports all of the OLE automation methods
listed in this chapter.

The Acrobat Reader does not support OLE automation.


For more info: http://partners.adobe.com/asn/acrobat/docs/iacovr.pdf

(And I don't have Exchange, so I can't help you with the rest.)

Matt

 

--------

 

Success!  Here is the code that opens up and prints a PDF using Win32::OLE
and Acrobat Exchange (v5.0.5 is the version I have).  Thanks for the link to
Acrobat Exchange's OLE Objects and Methods.  Too bad that Acrobat Reader
doesn't support OLE automation - I'm sure more people could have benefited
from this.

######################
#!perl
use strict;
use warnings;
use diagnostics;
use Win32::OLE;
use Win32::OLE::Const "Acrobat";
our $g_file_input = shift @ARGV;
die "Usage: $0 filenamen" unless $g_file_input;

sub process_main {

 }
 print "Num pages: $ppn";

}

sub main {
 print "PDF programn";
 &process_main();
 print "Ending nown";
}

&main();
exit 0;

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值