製品開発担当の大です。こんにちは。

先週、シーオーリポーツ for Java V3をリリースしました。
今回のバージョンでは、異体字セレクタ対応やシーオーリポーツドキュメントの変換・結合・分割などさまざまな機能を追加しています。

今日はこの新バージョンの機能の中から『ドキュメントの変換・結合・分割』について紹介したいと思います。

シーオーリポーツ for Java V3では、描画ライブラリで既存のシーオーリポーツドキュメントを読み込むことができるようになりました。そして、ジョブにページを出力することができます。これにより、ドキュメントの変換・結合・分割が可能になりました。

変換

ドキュメントを変換

ドキュメントを変換

たとえば、シーオーリポーツドキュメントをPDFに変換する場合は以下のように記述します。

// RSIのドキュメントをPDFに変換
var job = new CrFileOutJob(CorDocumentType.PDF, "test.pdf");
var draw = new CrDraw();
try (var doc = CrBinaryDocument.open(draw, "test.rsi")) {
    job.start(draw);
    doc.printPages(); // 全てのページを出力
    job.end();
} catch (CrException ex) {
    job.abort();
} finally {
    draw.deleteInstance();
}

結合

ドキュメントを結合

ドキュメントを結合

ふたつのドキュメントを結合するには以下のように記述します。

// 複数のドキュメントを結合
var job = new CrFileOutJob(CorDocumentType.BINARY, "merged.rsi");
var draw = new CrDraw();
try (var doc1 = CrBinaryDocument.open(draw, "test1.rsi");
     var doc2 = CrBinaryDocument.open(draw, "test2.rsi")) {
    job.start(draw);
    doc1.printPages(3);
    doc2.printPages(2, 1);
    doc1.printPages(1, 2); // ページの選択、順番入れ替えも可能
    job.end();
} catch (CrException ex) {
    job.abort();
} finally {
    draw.deleteInstance();
}

分割

ドキュメントを分割

ドキュメントを分割

既存のドキュメントを分割して保存するには以下のように記述します。

// ドキュメントを分割
var job1 = new CrFileOutJob(CorDocumentType.BINARY, "split1.rsi");
var job2 = new CrFileOutJob(CorDocumentType.BINARY, "split2.rsi");
var draw = new CrDraw();
try (var doc = CrBinaryDocument.open(draw, "test.rsi")) {
    job1.start(draw);
    doc.printPages(1, 2, 3);
    job1.end();
    job2.start(draw);
    doc.printPages(4, 5, 6);
    job2.end();

} catch (CrException ex) {
    job1.abort();
    job2.abort();
} finally {
    draw.deleteInstance();
}

いかがでしたでしょうか?体験版が無料でダウンロードできますので、ぜひお試しください。