無償でPDFファイルを作成する方法は?

このQ&Aのポイント
  • PHPを用いてウェブベースのシステムでPDFファイルを出力したいが、有料のPDFlib以外の無料なライブラリがないか検討中。
  • R&OS pdf class、FPDF Library PDF generator、Panda PDF Generator、YaPsなどの無料なライブラリを調査中。
  • TeXやCSVを用いた方法も考えたが、現在の状況ではあまりスマートな方法とは思えない。
回答を見る
  • ベストアンサー

無償でPDFファイルを作成する方法は?

大変久しぶりに投稿します。katuyaと申します。 よろしくお願いします。 現在PHPを用いてウェブベースのシステムを 開発しているのですが、技術的な事で少し引っかかっています。 アドバイスをいただけましたら大変助かります。 = < 環境 > ・FreeBSD4.7RELEASE ・Apache1.3.27 ・PostgreSQL7.3.2 ・PHP4.3.1 < 目的 > ・ウェブブラウザから整形された書類を出力する。 上記のような環境で各HTTPクライアントからの要求に応えるシステムです。 クライアントで帳票出力の際に、HTMLではレイアウトが定義できませんので、 PDF形式にして出力したいと考えています。 有名どころでは、PDFlib というライブラリがありますが、これは 技術的な情報が豊富である反面、商用利用には US$500/1cpu かかってしまい、 できれば採用したくありません。 他にもFreeなライブラリとして ・R&OS pdf class ・FPDF Library PDF generator ・Panda PDF Generator ・YaPs などがあり良さそうな感じなのですが、何れも情報が少なく、 日本語が通るかどうかも今のところ調べきれていません。 その他の方策として、 ・TeXで帳票作成したあとPDF変換する。 ・CSVで出力し整形にはクライアント側でEXCEL等を用いる。 なども考えましたが、あまりスマートな方法とは思えません。 #当方TeXは全く使用経験ありません。 #インストールすら手間取っているような状態です。 #最悪、Excelに逃げようかとも思っています。 なにか良い方法ございませんでしょうか? Freeなライブラリについて日本語処理や、その他機能的な問題など ご存知の方、ご教授いただければと思います。 また、その他の良い方法がございましたら何でも結構です。 あまり時間がありません。 回答をお待ちしています。

質問者が選んだベストアンサー

  • ベストアンサー
  • Sakamo
  • ベストアンサー率100% (2/2)
回答No.6

私のところではPDFlibの代わりになるようなクラスを自前で作りました。 http://www.mula-net.com/mulib/ にて公開しています。 PHPのpdf関数に似せた仕様になってます。 機能的にはだいぶ劣りますが、一応業務に使えてます。 よければご覧ください。

参考URL:
http://www.mula-net.com/mulib/
katuya
質問者

補足

素晴らしいです。まさに私が求めていたものです。 日本語は通るし、フォントの設定、罫線描画など、帳票作成に必要な機能がおさえられています。 サンプルファイルも入っていましたので、初めてでもすぐに使い方が分かりました。 そのまま業務に使えそうです。 年度末は特に忙しくお礼が遅れてしまいました。 ありがとうございました。

その他の回答 (6)

  • kusukusu
  • ベストアンサー率38% (141/363)
回答No.7

> NO6 Sakamoさんへ 試してみました! 素晴らしいですね。 すべてをほめたいのですが、2点ほど・・・ 両方ともweb上でも書かれていたことですが・・・ 1.ちょっと遅すぎます(^^; pdflibの10倍くらいの時間がかかりそうです(体感) クラスとしてphpで記述されているので、仕方ないですが・・・ 2.サポートされていない関数も結構ありますね 上記の二つ以外は、素晴らしいです。 完全無料と言うことを考えれば、PDFLibを超えてますね! (日本語の扱いなど) 私なら20点!(笑)

katuya
質問者

補足

> 私なら20点!(笑) というわけで、Sakamo様:20点 のみで締めさせて頂きます。 長々とお付き合いいただきありがとうございました。

  • kusukusu
  • ベストアンサー率38% (141/363)
回答No.5

> やはり他のFreeのライブラリでは日本語は難しいでしょうか? と言うより、katuyaさんが仰るとおり、情報が全然無いのでは? 私もPHPLibしか使ったことがないのでよく分かりません(^^; > スタイルシートで今回の帳票がうまく作成できるか、検討してみます。 調べてみると結構…と言うか、かなり面倒臭そうですね(^^; また、この仕事はプログラマの仕事と言うよりは、むしろデザイナーの仕事のようです。 デザイナーさんに作ってもらって、後からphpを埋め込んではいかがでしょうか?

katuya
質問者

補足

> 調べてみると結構…と言うか、かなり面倒臭そうですね(^^; そうですね。ブラウザごとに解釈が違ったりして全然うまくいきませんでした。というか、うまくいくまで息が続きませんでした。 > また、この仕事はプログラマの仕事と言うよりは、むしろデザイナーの仕事のようです。 > デザイナーさんに作ってもらって、後からphpを埋め込んではいかがでしょうか? 残念ながらデザイナーはいません。 今のところ営業,開発,サポート,事務処理に至るまで全て自分でしています。大変ですが、修行だと思ってがんばっています。 今回は紹介いただいたライブラリで解決できそうです。 ありがとうございました。

  • kusukusu
  • ベストアンサー率38% (141/363)
回答No.4

私だったら迷わずPDFlibを利用しますが…(^^; でもそれをしないのであれば、なかなか難しいですね。 ぱっと思いついたのがスタイルシートを利用したものです。 フォントの種類やサイズ,行間隔なども指定できるので,印刷フォーマットはブラウザの設定に依存しないというメリットがあります。 ようはクライアント側で「見栄えのいい文章を印刷したい」のだと思いますので、それだったらスタイルシートが楽(?)じゃないですか? ただ、クライアントの環境(ブラウザ)がスタイルシートに対応していないといけないのですが… が、これはどう見てもWebアプリですので、クライアント側のブラウザはある程度特定できますよね?

katuya
質問者

補足

ご回答ありがとうございます。 > 私だったら迷わずPDFlibを利用しますが…(^^; それができれば悩むこともなかったのですが、今回はPDFlibはナシでお願いします。 > でもそれをしないのであれば、なかなか難しいですね。 やはり他のFreeのライブラリでは日本語は難しいでしょうか? > ようはクライアント側で「見栄えのいい文章を印刷したい」のだと思いますので 少し違います。「既存の帳票にできるだけ近づけたい」です。 質問本文に書いていませんでしたね。失礼しました。 スタイルシートで今回の帳票がうまく作成できるか、検討してみます。

回答No.3

はずれたこといいますね。 TeXは、以下のHPを参考にするといいです。 http://www2.wbs.ne.jp/~skaga/ http://forum.nifty.com/ftex/ 押す理由は、batファイルでtexファイルさえ作れば自動でpdfに変換ができます。 というか、めんどくささにそうしていました(笑) 外れていることを書いていると、思いますが書く内容によってはかなり、便利とおもいますので、参考までに…

katuya
質問者

補足

TeXも検討してみましたが、やはり少し敷居が高そうですね。 個人的には興味はありますので、じっくり時間をかけて取り組んでみたい気持ちもありますが、今回はそのゆとりがありません。 試行錯誤しているうちに Sakamo 様から素晴らしいライブラリを提供して頂きました。 今回はこのライブラリにて解決できそうです。 ありがとうございました。

  • eipu
  • ベストアンサー率39% (25/64)
回答No.2

#1の人は、なんか的外れな回答をしているようですが・・・ 私も以前、同じ事でなやみました。 PDFlib以外の日本語情報は極めて少なく、英語のページを 辞書片手に追っかけて・・・ 最終的にDELLの通販の見積書にヒントを得て WINDOWの横幅を固定にして印刷できるようにして 逃げちゃいました(^^; ですから、この問いに対する回答には非常に興味があります。 物知りの人、宜しくお願いします!!

katuya
質問者

補足

こちらから帳票のフォーマットを提案できるなら、レイアウトはブラウザ任せでも良かったのですが、 ほとんどの場合、帳票のフォーマットは電子化前の手書きの帳票を真似て作る必要があるので、今回のことは致命的でした。 良いライブラリがあり、他の案に逃げなくて済みそうです。 ありがとうございました。

  • shy00
  • ベストアンサー率34% (2081/5977)
回答No.1

無料ではありませんが、一太郎13にはPDF形式に書き出す機能があります。  http://faq.justsystem.co.jp/faq/1003/app/jsfaq.jsp?17090+0160 他のソフトでも、そのような機能があるかもしれませんので お持ちのアプリケーションを確認されてはいかがでしょうか? もしくは、 PDF Designer - Text Edition(テキストのみ) http://www.vector.co.jp/soft/win95/writing/se267881.html PDF Designer - Image Edition (画像のみ)http://www.vector.co.jp/soft/win95/writing/se268384.html のようなソフトを使用する手はあります。

参考URL:
http://www.vector.co.jp/soft/win95/writing/se267881.html
katuya
質問者

お礼

ご回答ありがとうございます。 今回は文書整形をサーバ上で行おうとしていますので、一太郎などWindowsアプリケーションは使えないのです。 代替策として、サーバは帳票作成に必要なデータのみを出力し、整形はクライアント上で行うことも考えていますが、 この場合はPDFである必要はありません。 また何か良い案がありましたらよろしくお願いします。

関連するQ&A

  • FPDFでPHPファイルをPDFに変換したい。

    SQLとPHPを使って作った帳票をA4サイズでプリントアウトするのが最終目的です。 ★帳票のサンプル http://pips.chu.jp/0/a4/index.php 上の帳票(php保存)をPDFに変換してプリントアウトしたいです。 FPDFというライブラリをダウンロードして、何とか導入まではできました。 ↓ http://pips.chu.jp/0/pdf/pdfoutput.php が、このFPDFをどのように使えば先述の帳票(php保存)をPDF形式に変換できるのかがわかりません。 その方法を教えていただきたいと思います。 何卒よろしくお願いします。

  • PHPでPDFを作成するためのライブラリについて

    お世話になります。 現在はFPDFを使用してPDFを作成しています。 ※下記のサイトを参考にしました。 http://www.phpbook.jp/fpdf/ 作成していくにつれ、不具合というか、問題が発生しました。 例えば、SJISで機種依存文字がうまく出力されないとか。それでUNICODEで出力するようにしたら「名」や「上」の漢字が文字化けをしてしまうとかです。 それで皆さんに質問があります。 PHPでPDFを出力する際に使用するライブラリで一番いいのはどのライブラリでしょうか。 またおすすめのPDFを出力するライブラリを教えていただけたら幸いです。 すみませんがアドバイスいただけませんでしょうか。 宜しくお願いします。

    • ベストアンサー
    • PHP
  • PDFファイルの制御

    PDFファイルの配布サイトを作っています。 PDFファイルをWebからPDFを表示して、ローカルに保存されたくないという ありがちな仕様なのですが、 製品版のでPDF系のサーバアプリケーションでは DL禁止機能やコピー保存禁止機能などを見かけます。 あれはどうやって実現しているんでしょうか? 私なりに調べたら、 1.JavaScriptでAcrobatReaderからSaveAsをDisableにしている 2.JavaScriptで指定URLから開いていない場合は警告後、閉じる とあったので、 1.を実験でapp.hideMenuItem('SaveAs')としてみましたが、 セキュリティエラーが出て挫折しました。 2.はAcrobat5でJavaScriptを埋め込んで成功しました。 ただし一度設定するとローカルから触れなくなってしまいます。 後は、これをサーバ側で配布時に既存のPDFに JavaScriptを書き込まなければいけないのですが、 PDFLib,FDF,FPDFライブラリなどで、 実現できないでしょうか? もしJavaのiTextライブラリ等でできるなら、 最悪Javaに乗り換えようと思っていますが・・・ ご存知の方はできる、できない、または具体的な方法を ご教授できないでしょうか? PDF作成はAcrobat 5 Apache1.3+PHP4.38(FreeBSD)

    • 締切済み
    • PHP
  • FPDFを使ってコピー不可の文書が作成されるか?!

    PHPとFPDFを使って、PDF出力系のシステムを作ってまして、そのときに問題となるのが作成されるPDFファイル内の文章をコピー防止の機能を付けて保存させることは可能でしょうか?FPDFの環境で無理であっても、他に実現できる方法があれば教えて下さると嬉しいのですが、よろしくお願いします。

    • ベストアンサー
    • PHP
  • PDFファイルにフォントを埋め込む方法

    よろしくお願いします。 Linux+Apache+PHPで開発を行っているのですが、PHPでFPDFを使用してPDFファイルの生成を行っています。 その際、PDFに出力するファイルに専用のフォントを使用した文字列を表示したいのですが、ベースとなるPDFファイルに対象となるフォントの全てを埋め込むことはできないのでしょうか? フォントを埋め込まないでPHPで作ったPDFをブラウザ(Acrobat)で開くとその開いたPCに該当するフォントがないと別のフォントに置き換わってしまいます。 これを何とか専用のフォントで表示することはできないでしょうか? PDFを閲覧する人は不特定多数なので  「フォントを入れてください」 ともかけません。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • サーバーで作成したPDFを直接印刷(プレビューなし)する方法について

    Javaで作成したWebシステムにおいて、サーバー側で作成したPDFファイルを、 クライアント側でプレビュー表示することなく、直接プリンターから印刷させる方法はないでしょうか。 ※市販の帳票作成ツールで直接印刷可能なものはありますが、いずれも独自形式の帳票(PDF以外)のものしか見つかりませんでした・・・

  • FPDFを使ったPDF出力時の縦幅について

    業務でPHPを使用したことはありますが テンプレートを使ってPDF出力するのが 初めてで困っています。 サンプルコードを見ながら作成しているのですが、 テンプレートの属性指定で $pdf->useTemplate($tplidx); と、特に指定していないにも関わらず、 座標を与えるとY値が271を超えた場合に 改ページになってしまいます。 例) $page_1 = "ほげほげ"; $pdf->SetFont("MS-PGothic", "", 9); $pdf->SetXY(180, 280);//←ここです $pdf->Cell(10, 5, JA($page_1), $cell_border, 0, "R"); 仕様上、どうしても1枚の帳票に 決められたデータを表示しないといけないため 改ページできません。 ちなみにクラスファイルは、 FPDFとFPDI、JAPANESE.php等を使用しました。 Y値が270以下の他のデータは正しく表示されます。 これはFPDFの仕様なのでしょうか? すでに1週間ほど煮詰まっております。 ご存知の方がいらしたらご教授お願いいたします。

    • 締切済み
    • PHP
  • PHPでPDFの自動印刷

    PHPでPDFを作成し、PDFがブラウザで表示されたら自動印刷するようにしようと思っています。 FPDFを使い、用紙サイズA4・用紙方向縦に設定したPDFを生成することができました。 さらにFPDFのphpファイルを拡張して、PDFファイルにAcrobat JavaScriptを埋め込めるようにしました。 プリンタを指定してAdobe Readerで自動印刷することができました。 後は給紙を用紙トレイにできればよいのですが、方法がわかりません。 Acrobat JavaScriptでできるのでしょうか?FPDFでできるのでしょうか? それとも給紙方法の制御は無理なのでしょうか?

    • ベストアンサー
    • PHP
  • phpを使用してPDFファイルを作成してメール添付で送信したい

    phpを使用してPDFを作成し、そのファイルをEメール添付で指定されたアドレスへ送信したいと思っています。 PDFファイルの生成、Eメール送信をする処理はそれぞれできたのですが、生成したファイルをEメール添付する方法がわかりません。 まだまだ勉強不足で、どのようにしたらいいかご教授をお願いいたします。サンプルなどあれば助かります。 環境:php4、FPDFを使用 どうぞよろしくお願いいたします。

    • 締切済み
    • PHP
  • 動的にPDFを作成したいのですが

    ある伝票をPDFにしたいと考えています。 Webサーバ(Win2000)上でDBから伝票イメージに埋め込むデータを抽出し、動的にPDFを作成、クライアントでそれを参照できるようにしたい(アクロバットリーダーを使用)のですが、方法がよく分かりません。 アドビ社のアクロバットだけでは無理で、他のツールが必要なのでしょうか? なるべくコストをかけたくないのです。 良い方法を教えてください。

専門家に質問してみよう