2008-09-12 19 views

答えて

52

LibHaru

春は、ANSI-Cで書かれた 生成PDF用 オープンソースソフトウェアライブラリ無料、クロスプラットフォームです。 は、静的ライブラリ(.a、 .lib)と共有ライブラリ(.so、 .dll)の両方として動作できます。

はそれを自分自身を試してみませんでしたが、多分それはあなたが勇敢で独自のロールするために喜んでいる場合、あなたはポストスクリプトライブラリで始まり、PDFに対処するために、それを強化することができ、あなたに

+0

LibHaruでpdfファイルを読むことはできますか? –

+4

@Rui:残念ながら作成するだけです。 –

+2

FWIW、libHaru(https://github.com/pocoproject/poco/tree/master/PDF)用のPOCOラッパーを作成しました。私たちはそれをリリースしたことはありませんが、ほぼプロダクショングレードのコードです。 – Alex

3
  • LibHaruが多く使用されているようです。

非オープンソースのアプローチがある:C++、C#の、デルファイ、ASP、ASP.NET、VB、VB.NET、VBScriptの、PHPとPythonそれが依存

5

を含む複数の言語オプションを提供PDF Creator Pilotあなたのニーズに少し。いくつかのツールキットは描画時に優れていますが、他のツールキットはテキストを書き込む方が優れています。 Cairoは、描画にはかなり優れています(pdfを含む幅広い種類のスクリーンとファイルをサポートしています)。しかし、良いタイポグラフィには理想的ではありません。

17

私はpdfレポートが必要なプロジェクトに取り組んでいました。オンラインで検索したところ、PoDoFoライブラリが見つかりました。非常に堅牢なと思われる。私はすべての機能を必要としなかったので、私はいくつかの複雑さを抽象化するためのラッパーを作成しました。それほど難しくありませんでした。あなたはここにライブラリを見つけることができます。

http://podofo.sourceforge.net/

お楽しみください!

+0

MacでPdDoFoを構築するのは大変な苦痛です。建物のLibHaruはとても簡単でした。 –

+0

Podofoは2つのコンパイラの問題を抱えていましたが、#include を2つのファイルに追加してパッケージをビルドできました。しかし、どういうわけか、私のLinuxではGCCの2つのバージョン(古いものにはCentOS6.5が付属し、最新の5.3はビルドされています)ではcmakeシステムがうまく動作しません。リンクが問題です。私はhelloworldをリンクすることができたが、テストプログラムは空白の文書を作り出した。この問題を解決することは非常に難しいです。 –

+1

しかし、podofoはfreetype2ライブラリが必要です。これは** GPLであり、LGPLではありません**。ソースを公開したくない場合は、freetype2 **を使用してソフトウェアを作成することはできません。** – 18C

6

PDFのフムス:http://mupdf.com/

オープンソースビューアもあります。 http://pdfhummus.com/を参照 - レンダリング以外のPDFファイルでの操作に必要なすべての機能が含まれています。

+0

最近、Hummusで大きなPDFエクスポートを行いました。おそらく、現在のPDFSpecのすべての機能(完全に網羅的)をカバーするという点では完全ではないかもしれませんが、いくつかの仮想関数を持つコールバッククラス(https://github.com/galkahana/PDF- Writer/blob/master/PDFWriter/DocumentContextExtenderAdapter.h)。 TIFF/JPEG処理と、フォント処理のためのfreetypeライブラリが含まれています。 –

6

jagpdfのようです。これはC++で書かれていますが、C APIを提供します。

1

wkhtmltopdf

ソフトウェアを試してみては

クロスプラットフォームを提供しています。 オープンソース。 Webkitを使用してWebページをPDFドキュメントに変換します。 ヘッダーとフッターを追加できます。 TOC生成。 バッチモードの変換。 XServerを使用してLinuxサーバーで実行できます(X11クライアントのライブラリをインストールする必要があります)。 libwkhtmltoxへのバインディングを介して、PHPまたはPythonで直接使用できます。

+0

これは良いことです。しかし、それは日付のWebkitを使用するように、いくつかのページが不平を言うかもしれません(例えば、YouTube) – swdev

関連する問題