このリポジトリではブレインセラーズ・ドットコム株式会社が提供しているbiz-Stream製品のうち、ダイレクト印刷とバッチ印刷に関するソースを公開しています。
※"biz-Stream"はブレインセラーズ・ドットコム株式会社の登録商標です。
"パッケージ版"とは biz-Stream製品メディアに同梱されているダイレクト印刷・バッチ印刷のことを指し、有償製品です。
- ソースコードの違い
- sppファイルを暗号化するキーが異なりますが、それ以外は基本的には同一です
- インストーラの違い
- パッケージ版・オープンソース版共にInno Setupによるインストーラが用意されます
- パッケージ版にはインストーラにデジタル署名がされますが、オープンソース版はデジタル署名はされない予定です
- サポートの違い
- パッケージ版はbiz-Stream テクニカルサポート契約を締結していればサポートを得られますが、オープンソース版では一切のサポートはありません
- bizprint-client
- ダイレクト印刷・バッチ印刷 クライアントモジュール
- bizprint-server-csharp
- ダイレクト印刷・バッチ印刷へ送信する印刷データ(sppファイル)を作成するライブラリ (C#版)
- 任意のアプリケーションに組み込むことで、そのアプリケーションからダイレクト印刷・バッチ印刷を行えるようになります
- bizprint-server-java
- ダイレクト印刷・バッチ印刷へ送信する印刷データ(sppファイル)を作成するライブラリ (Java版)
- 任意のアプリケーションに組み込むことで、そのアプリケーションからダイレクト印刷・バッチ印刷を行えるようになります
- pom.xml(ルート)
- ソース一式をビルドするためのMaven親プロジェクト
- Windows 10 / Windows Server 2019 以上
- Windowsの機能として、.NET Framework 3.5を有効化する必要があります
- JDK 8 以上
- Maven 3.0.3 以上
- Visual Studio 2019 以上
- Inno Setup 6 以上
mvn clean install各モジュールのtargetディレクトリにビルド結果が出力されます。
- 暗号化キーはビルドのたびにランダムで生成されます
- 暗号化キーはサーバ側とクライアント側で同じでなければ印刷が行えません。そのため一部のモジュールのみビルドすることはできません。必ず一括ビルドしなければなりません
- bizprint-client
- ダイレクト印刷は DirectPrint-OSS-Setup-X.X.X.exe を実行してインストールします (要管理者権限)
- バッチ印刷は BatchPrint-OSS-Setup-X.X.X.exe を実行してインストールします (要管理者権限)
- bizprint-server-csharp
- bizprint-server-csharp.dll および Ionic.Zip.dll を参照に追加します (Visual Studioの場合)
- bizprint-server-java
- bizprint-server-java-X.X.X.jar および zip4j-X.X.X.jar をクラスパスに追加します
- bizprint-client
- ダイレクト印刷は Windows 11 以上で動作確認をしています
- バッチ印刷は Windows Server 2022 以上で動作確認をしています
- bizprint-server-csharp
- .NET Framework 2.0 以上で動作しますが、 4.6 で動作確認をしています
- bizprint-server-java
- JDK 8 以上で動作しますが、 JDK 21 で動作確認をしています
bizprint は既存の PDF ファイルを印刷するためのライブラリです。 ダイレクト印刷(Web ブラウザ経由)とバッチ印刷(サーバ間通信)の 2 種類があります。
サーブレットコンテナ(Tomcat 等)上で動作する Web アプリケーションから利用します。
// ダイレクト印刷ストリームの生成
PDFDirectPrintStream direct = new PDFDirectPrintStream(response);
direct.setPrinterName("プリンタ名");
direct.setNumberOfCopy(1);
direct.setSelectedTray("AUTO");
direct.setJobName("ジョブ名");
direct.setDoFit(true);
// PDFファイルを読み込んでストリームに書き出す
FileInputStream fis = new FileInputStream("印刷するPDF.pdf");
byte[] buffer = new byte[4096];
int bytesRead;
while ((bytesRead = fis.read(buffer)) != -1) {
direct.write(buffer, 0, bytesRead);
}
fis.close();
// 暗号化sppファイルを生成し、HTTPレスポンスとして送信
direct.close();サーブレットコンテナ不要で、スタンドアロンアプリケーションから利用できます。
// バッチ印刷ストリームの生成
PDFBatchPrintStream batch = new PDFBatchPrintStream("http://server:3000/");
batch.setPrinterName("プリンタ名");
batch.setNumberOfCopy(1);
batch.setSelectedTray("AUTO");
batch.setJobName("ジョブ名");
batch.setDoFit(true);
// PDFファイルを読み込んでストリームに書き出す
FileInputStream fis = new FileInputStream("印刷するPDF.pdf");
byte[] buffer = new byte[4096];
int bytesRead;
while ((bytesRead = fis.read(buffer)) != -1) {
batch.write(buffer, 0, bytesRead);
}
fis.close();
// 暗号化sppファイルを生成し、バッチ印刷サーバへ送信
batch.close();
// 印刷結果の確認
String jobId = batch.getJobId();
String result = batch.getResult();sample ディレクトリ に詳細なサンプルプログラムがあります。
詳細なドキュメントは docs ディレクトリにあります。
| ドキュメント | 概要 |
|---|---|
| アーキテクチャ | システム全体像・SPP ファイル仕様・通信プロトコル |
| 設定リファレンス | 全設定パラメータの一覧と説明 |
| エラーコード一覧 | エラーコード・ステータスコードの詳細 |
| トラブルシューティング | よくある問題と解決策 |
| API リファレンス | サーバ側 Java/C# API の詳細 |
| CHANGELOG | バージョン変更履歴 |
- プルリクエストによるコントリビューションを歓迎します
- プルリクエストを作成する前に CONTRIBUTING.md を必ず参照してください
- 本ソフトウェアは Apache License v2.0 の元提供されています
※パッケージ版はライセンスが異なるのでご注意ください
- 全ての記載事項は2026年3月時点の情報であり、今後変更される可能性があります