2.3.1 基本的なコーディング方法(ライブラリ)
ここでは、Amazon S3出力機能のコーディングに関して説明するため、biz-Streamライブラリを利用したPDFを生成するユーザ・アプリケーションがすでにあるものとします。
アプリケーションの開発方法およびレイアウトの作成方法に関しては「PDF出力ガイド」や「レイアウト・デザイナ ガイド」をご覧ください。
Amazon S3へ出力を行うためには、既存のPDF生成アプリケーションに対して、PDF生成エンジンの出力先に指定していた出力ストリームを AmazonS3OutputStream のインスタンスに変更します。
最も簡単なPDFを生成するユーザ・アプリケーションは以下のように記述できます。
public void makePdf( ) {
try{
PDFEngine pdf = new PDFEngine("${base-dir}/sample/test.pdf");
XMLSuper xml = new JaxpXML("layout.xml", pdf);
xml.parse();
xml.setPageSize();
xml.calcDataSize();
xml.toPDF();
xml.close();
}catch(Exception e){
e.printStackTrace();
}
}
これをAmazon S3への出力に移行する場合、次の赤行のような変更を加えることになります。
public void makePdftoAmazonS3( ) {
try{
AmazonS3OutputStream s3 = new AmazonS3OutputStream();
//s3.setAccessKey("xxx");
//s3.setSecretKey("xxx");
//s3.setServiceEndpoint("https://s3.amazonaws.com");
//s3.setRegion("ap-northeast-1");
//s3.setBucketName("BucketName");
//s3.addTag("Owner", "TEST");
//s3.setProxyHost("proxy");
//s3.setProxyPort(8080);
s3.setFilePath("Sample/AmazonS3Sample1.pdf");
PDFEngine pdf = new PDFEngine(s3);
XMLSuper xml = new JaxpXML("layout.xml", pdf);
xml.parse();
xml.setPageSize();
xml.calcDataSize();
xml.toPDF();
xml.close();
}catch(Exception e){
e.printStackTrace();
}
}
