Copper PDF 3.0.3 / 2.1.12をリリースしました

Copper PDF 3.0.3 / 2.1.12をリリースしました。「Copper PDF サーバーのダウンロード」から入手してください。

Windows 64bit版のサービスインストーラ(InstallService-x64.bat)を追加しました。

その他のOSではアップデートの必要はありません。


PDF

.NET(C# / VB.NET)のドライバをリリースしました

.NET対応のドライバをリリースしました。従来、.NETからCopper PDFを利用するにはHTTP/RESTインターフェースを利用していましたが、今回リリースされたドライバでは、APIによりCopper PDFの高度な機能がもっと簡単に利用でき、しかも高速です。

Copper PDFの.NETドライバはC#, VB.NETなど.NETフレームワークに対応したプログラミング言語から利用することができます。ASP.NETと組み合わせれば、ASP.NETをHTML出力だけではなく、PDF出力のためのテンプレートとして利用することができるようになります。

ドライバ本体とドキュメントは以下から入手してください。ドライバは無償で、ソースコード(C#)を公開しています。

ドライバはこちらからダウンロードして下さい。

.NET(C#/VB.NET)ドライバ 2 ドキュメント ドライバ主要部分 全API サンプルプログラム・解説

PDF

Copper PDF 2.1.11をリリースしました

Copper PDF 2.1.11をリリースしました。「Copper PDF サーバーのダウンロード」から入手してください。

変更点

以下のバグを修正しました

multipart/formdataによりRESTインターフェースにアクセスした時にrest.xxxパラメータが無視される

file:///で始まるURIで事前に送信したリソースが参照できない

パラメータを追加しました

詳細はドキュメントをご参照下さい。

以下はPDFを開いた際のPDFビューワの動作を設定するものです。
output.pdf.viewer-preferences.hide-toolber
output.pdf.viewer-preferences.hide-menubar
output.pdf.viewer-preferences.hide-windowUI
output.pdf.viewer-preferences.fit-window
output.pdf.viewer-preferences.center-window
output.pdf.viewer-preferences.display-doc-title
output.pdf.viewer-preferences.non-full-screen-page-mode
output.pdf.viewer-preferences.print-scaling
output.pdf.viewer-preferences.duplex
output.pdf.viewer-preferences.pick-tray-by-pdf-size
output.pdf.viewer-preferences.print-page-range
output.pdf.viewer-preferences.num-copies

以下はPDFを開いた際に実行するJavaScriptを設定します
output.pdf.open-action.script


PDF

Copper PDF 3.0.2をリリースしました

Copper PDF 3.0.2をリリースしました。「Copper PDF サーバーのダウンロード」から入手してください。

変更点

以下のバグを修正しました

マルチカラムブロックに入れ子になっているブロックの境界が改ページにより消えない

16ビットのピクセルチャンネルを含む画像があるとエラーにより停止する

multipart/formdataによりRESTインターフェースにアクセスした時にrest.xxxパラメータが無視される

file:///で始まるURIで事前に送信したリソースが参照できない

パラメータを追加しました

詳細はドキュメントをご参照下さい。

以下はPDFを開いた際のPDFビューワの動作を設定するものです。
output.pdf.viewer-preferences.hide-toolber
output.pdf.viewer-preferences.hide-menubar
output.pdf.viewer-preferences.hide-windowUI
output.pdf.viewer-preferences.fit-window
output.pdf.viewer-preferences.center-window
output.pdf.viewer-preferences.display-doc-title
output.pdf.viewer-preferences.non-full-screen-page-mode
output.pdf.viewer-preferences.print-scaling
output.pdf.viewer-preferences.duplex
output.pdf.viewer-preferences.pick-tray-by-pdf-size
output.pdf.viewer-preferences.print-page-range
output.pdf.viewer-preferences.num-copies

以下はPDFを開いた際に実行するJavaScriptを設定します
output.pdf.open-action.script


PDF

Windows Azure で Copper PDF を運用するには

Microsoft社のクラウド環境であるWindows AzureでCopper PDFを動作させる方法を解説します。

Azure環境での構成

Azureでは仮想環境上に「ロール」と呼ばれる複数のプログラム実行環境を配置することができます。ロールの種類にはASP.NET, PHP等、Internet Information Server (IIS)のウェブアプリケーション実行環境である「Webロール」、バックグラウンドの処理などを行う「Workerロール」、両方の用途に使える「VMロール」があり、Copper PDFはそのうちどのロールでも動かすことができます。

ここでは、WebロールでCopper PDFを動作させ、非クラウド環境と同様にlocalhostへのソケット通信によりウェブアプリケーションからCopper PDFの機能を呼び出す方法を解説します。

なお、Azure環境でサーブレット/JSPを動作させる場合は、Workerロールでアプリケーションサーバー(Tomcat, Jetty等)を起動する方法が一般的ですが、この場合はWebロールがWorkerロールに変わるだけで、やり方はほとんど同じです。

プロジェクトの準備

次のソフトウェアが必要になります。

  • Copper PDF 3.0.0 以降 (ZIPアーカイブ)
  • Windows用のJava実行環境(JRE,64ビット版を推奨)

また、Windows Azureの開発サイトから次のものを入手してください。

  • Windows Azure のサブスクリプション
  • Windows Azure SDKおよびWindows Azure Tooks for Microsoft Visual Studio
あらかじめ必要な設定をしたVisual Studioのプロジェクトを準備しています。こちらからダウンロードしてください。このプロジェクトをWindows Azure Tooks for Microsoft Visual Studioで読み込んでください。次に、WebRole1のcopperディレクトリにCopper PDFのZIPアーカイブを配置してください。WindowsにJREをインストールし、JREのディレクトリ(通常はC:Program FilesJavajre6)をZIPアーカイブに圧縮し、copperディレクトリに配置してください。
2つのZIPのプロパティを開きCopy to Output DirectoryをCopy if newerに設定してください。
startup.cmdを編集し、次の太字の箇所を先のZIPアーカイブに合わせて書き換えてください。
@REM unzip JRE
cscript /B /Nologo utilunzip.vbs copperjre6.zip .

@REM unzip CopperPDF
cscript /B /Nologo utilunzip.vbs coppercopper-pdf-3_0_1.zip .

cd CopperPDF
start ..jre6binjava.exe -Duser.home=. -Djava.util.logging.config.file=conf/logging.properties -Djp.cssj.boot.lib=lib:jetty/lib -Djp.cssj.plugin.lib=plugins -Djp.cssj.boot.main=jp.cssj.copper.Main -Djp.cssj.driver.default=conf/profiles/default.properties -Djp.cssj.copper.config=conf -cp lib/boot.jar jp.cssj.boot.Main -start
アプリケーションの実行

アプリケーションをクラウドに配備するために、Solution ExplorerのAzureCopperを右クリックしてメニューからPublish…を選択してください。最初は証明書(Credentials)の設定が必要です。メニューから<Add…>を選択してください。

表示されたダイアログの1.のメニューで<Create…>を選択し、証明書を追加してください。

WindowsAzure管理ポータル(windows.azure.com)にアクセスし、管理証明書を追加してください。証明書ファイルは上のダイアログ2.のCopy the full pathでクリップボードにコピーされるファイルパスにあるものを使います。上記ダイアログの3.には以下の画面で表示されるサブスクリプションIDをコピーしてください。

Publishを実行して、アプリケーションの配備が終わるまで30~60分ほどかかります。

以下の画面のDNS名のアドレスにブラウザでアクセスすると、サンプルアプリケーションが表示されます。

サンプルアプリケーションの解説

ServiceDefinition.csdefにはInterrole Communicationとスタートアップコマンドの設定がされています。

以下の設定は、スタートアップコマンドとしてstartup.cmdを実行するためのものです。

    <Startup>
      <Task commandLine="utilstartup.cmd" executionContext="elevated" taskType="simple">
      </Task>
    </Startup>

startup.cmdではZIPファイルを展開するためのスクリプト(unzip.vbs)を使用して、必要なソフトウェアを仮想環境上に展開します。最後に、展開されたJREを使ってCopper PDFを起動しています。

あとは http://localhost:8097/ で起動しているCopper PDFに HTTP/RESTインターフェースを利用してウェブアプリケーションからアクセスしています。

ライセンスについて

クラウド環境では実際に動作するサーバーの台数が不確定となるため、クラウド環境向けのライセンスをお求め下さい。詳しくはこちらのフォームからお問い合わせください。

WorkerロールでCopper PDFを動作させる構成(参考)

Copper PDFをWorkerロールで動作させ、WebRoleから呼び出す構成も可能です。この場合、異なるロール間での通信(Interrole Communication)を行うための設定の必要があります。

2つのロールを使う場合のサンプルプログラムはこちらからダウンロードしてください。

こちらのサンプルではServiceDefinition.csdefにInterrole Communicationの設定をしています。

以下は、8097ポートへTCPプロトコルをInterrole Communicationに使用するための設定です。8097ポートはCopper PDFのHTTP/RESTインターフェースのデフォルトのポートです。

    <Endpoints>
      <InternalEndpoint name="CopperPDF" protocol="tcp" port="8097"/>
    </Endpoints>

WebロールのDefault.aspxは、Copper PDFにアクセスするサンプルのサーバーページです。クラウド環境で実行する場合、Webロールから見たWorkerロール上のCopper PDFは一般的にlocalhostにはありません。Default.aspx.csの以下の関数はWorkerロールのアドレスを取得するためのものです。このアドレスが、Webロールから見たCopper PDFのアドレスとなります。

        public string getCopperPDF()
        {
            RoleInstanceEndpoint[] endpoints =
                RoleEnvironment.Roles["WorkerRole1"].Instances.Select(
                    i => i.InstanceEndpoints["CopperPDF"]).ToArray();
            Random r = new Random(DateTime.Now.Millisecond);
            RoleInstanceEndpoint ep = endpoints[r.Next(endpoints.Count() - 1)];
            return String.Format("http://{0}/transcode", ep.IPEndpoint);
        }

PDF

Copper PDF 3.0.1をリリースしました

Copper PDF 3.0.1をリリースしました。「Copper PDF サーバーのダウンロード」から入手してください。

変更点

以下のバグを修正しました

インラインのSVGでクリッピングマスクが使えない。

サーバーを停止する際に、RESTでアクセスする処理を待たずに終了する。

SSL接続だけを有効にしてサーバーを起動できない。

copperd.propertiesで設定するSSLキーへのパスが設定ファイルからの相対パスにならない。

 

以下の機能を追加しました

HTMLの文字コードの自動認識でUTF-8を認識するようになりました。

copperd -status で取得する状態にRESTに関係する数値も含めるようにしました。

SVG出力に対応しました。ただし文字はアウトライン化されます。

“output.image.antialias”によりアンチエイリアスの切り替えが可能になりました。

EPUBとの互換性のためにcolumn-countのエイリアスoeb-column-numberをサポートしました。

漢字、かな、句読点の後の改行文字を空白として認識しないように改良しました。

改ページの直後で、行がブロックの幅を越えてしまうことがある不具合を修正しました。

 


PDF

試用サーバを公開しました

お手元のサーバ・開発環境へのセットアップなしに、CopperPDFの全機能をお試し頂ける試用サーバを公開しました。
お試しIDをご登録頂くことで、インターネットを通して30日間無償でCopperPDFのご利用が可能です。

CopperPDFお試しサーバ

Perl/PHP/Javaといった各種言語からCopperPDFをプログラムで利用した場合の動きをお試し頂きたい方は、
是非ご利用下さい。試用サーバでは、各種IPAフォントの埋込PDFの生成も可能です。


PDF

バーコードプラグイン 2.1/1.1 をリリースしました

バーコードプラグイン バージョン2.1(Copper PDF 3.0.0以降用)とバージョン1.1(Copper PDF 2.1.3以降用)をリリースしました。次の変更がされています。

  • 画像出力(JPEG, PNGなど)した場合に原寸大にならないバグを修正。
  • ISBN(書籍JAN)バーコード出力のデフォルト値が日本図書コード管理センターの仕様どおりに変わりました。詳細はドキュメントのISBNコードについてをご覧ください。

こちらからダウンロードしてくだ下さい


PDF

過去のCopper PDFのプラグイン

Copper PDFプラグインの過去のバージョンをダウンロードすることができます。なお、最新のバージョンはこちらのページからダウンロードしてください。

バーコードプラグイン 2.0

Copper PDF 3.x では、こちらをダウンロードしてください。
copper-barcode-plugin-2.0.tar.gz
copper-barcode-plugin-2.0.zip

バーコードプラグイン 1.0

Copper PDF 2.1.x では、こちらをダウンロードしてください。
copper-barcode-plugin-1.0.tar.gz
copper-barcode-plugin-1.0.zip

 


PDF

Java版ドライバ 2.1.1をリリースしました。

JavaでCopper PDF 2.1以降に接続するためのドライバのバグフィックス版をリリースしました。ServletまたはFilterでServlet/JSPの出力を変換する場合の不具合が見つかっておりますので、更新をお願いいたします。

以下の不具合が修正されています。

  • Servlet/JSPの出力をPDFに変換する場合、元のデータのサイズが大きいとCTIHttpServletResponseWrapperでエラーが発生する。

こちらからcti-java-2.1.1をダウンロードして下さい。

 


PDF