Copper PDFはHTML+CSSをはじめとする文書をサーバー側でレイアウトしてPDF等に変換する、ドキュメント変換サーバーです。
HTML, CSSをはじめ、XHTML, XML, SVG, XSLTといったウェブ向けの標準規格に対応しています。 また、JPEG, PNG等の画像を読み込んでPDFに変換することができます。 PDF以外の各種画像フォーマットへの変換も可能です。
Copper PDFは100% Javaアプリケーションです。 Java実行環境がサポートされている、 Windows, Linux, Solaris, MacOS, FreeBSD など、様々なOS上で実行可能です。
ウェブアプリケーションの開発言語として一般的なJava, Perl, PHP, C#, VB.NET, Ruby, Python向けに、使いやすく高機能なオブジェクト指向APIを用意しています。 PDFのもととなるHTMLの出力は普通のウェブアプリケーションを開発する場合と同じであり、JSP, Smarty, TemplateToolkit, ASP.NETのようなテンプレートエンジンも利用することができます。 各プログラミング言語からCopper PDFへ、ネットワークを介してアクセスする仕組みなので、 アプリケーション側はJava実行環境を必要とせず、また負荷分散によって非常に高負荷が予想されるシステムにも対応可能です。
HTTP/HTTPSによる接続をサポートしており2.1.0、4th Dimension等、HTTPクライアントを利用できる各種開発環境からも容易に利用することができます。
例えば、ネット上でクーポンやチケットのようなものを印刷させるために、印刷専用ページを用意し、各自のブラウザで印刷していただくとします。 しかし、ほとんどのブラウザが標準に準拠するようになったと言っても、各ブラウザで完全に同じ表示を実現することは、レイアウトが複雑になればなるほど難しくなります。 その点、サーバー側でPDFに変換してしまえば、完全に同じ表示を保障することができます。 また、PDFでは暗号化やファイル添付等のHTMLにはない機能が利用できます。 サードパーティーの製品を使うことにより、PDFに著作権管理やタイムスタンプを付与することができます。
PDFを動的に出力するためのソフトウェアとしては、各種帳票出力ソフトウェアがあります。 しかし、それらはレイアウトを決めるためにプログラミングが必要であったり、 独自の帳票デザインツールが必要であるため、それらの使い方を学習する必要があります。 しかも、各メーカーで共通化されていないため、別の会社の製品を使おうと思ったら、また使い方を学習しなおす必要があります。 また、全般的に複数ページにわたるPDFの出力は面倒です。 しかし、HTML+CSSによるレイアウトであれば、既にウェブで広く使われているため、開発者が新しく学習することは最小限で済みます。 HTML+CSSは従来は限られたレイアウトしか実現できませんでしたが、近年は十分に印刷にも利用できるほど高機能になりました。
HTML+CSSからPDFを出力することは、ウェブブラウザの「印刷機能」やコマンドラインを使っても可能です。 しかし、普及しているウェブブラウザは画面でスクロールさせて見ることを主目的にしており、印刷への対応は十分ではありません。 例えば予期しないところで途切れてしまったり、画面表示では実現できていた表示が印刷ではできなかったりといったことが起こります。 また、数千ページにおよぶ文書を印刷しようとすると、一般的なブラウザは非常にメモリを消費し、動作が重くなるか、最悪の場合はクラッシュしてしまうでしょう。 Copper PDFは、独自の設計により、理論的にはほぼ無制限の大きさの文書を一定のメモリ使用量でPDFに変換することができます。
冊子では目次の生成、ページ番号の付与が必要であり、特に日本語圏では日本語特有の禁則処理、両合わせ、縦組、ルビへの対応が必須と言えます。 Copper PDFはこれらの機能を独自にサポートしています。