PHPでPDF
FreeBSD4.2R + Apache1.3.19 + PHP4.0.4pl1 + libpng1.0.7 + libjpeg-6b + freetype-1.3.1 + GD1.8.3をインストールした 環境で、pdflib3.0.2を使ってPDF形式でファイルを出力させたい んですけど、うまくいきません。 どなたか正攻法を教えてください。 (もしかして、TrueType使うのにX window関係もインストールしなきゃ だめですか?) UFPDFを使用して文字コードはUTF-8でPDFを作成しようとしています。 フォントにArial Unicode MSを使用してみたのですが、出来上がった PDFファイルのサイズが15M程になってしまいました。。 おそらく不要なフォントまで埋め込まれているためだと思うのですが、 埋め込むフォントを最小限に抑える方法はありませんか? 数年ぶりにPDFlib動かしてみたが大分使いやすくなっててビビった。 まあ、つけると固まる制約とか色々な糞仕様は相変わらずだったけど・・・ >>137 最大行数を設定して(デフォルトはオート)、もしオーバーした場合処理が固まって帰ってこない。など。 日本語環境のみなのかはわからんけど、越したらエラー出すとか切るとかしてくれよとか思う これだけ騒がれても世の中バッファオーバーランがなくならない ということが良く判る事例ですね 誰かがチェック汁と文句は言うが、自分がチェックすれば良いことに気付かないアフォPGが多いですね。 すいませんGDで描いたやつをfpdfに貼付けられますか? この数日、FPDFの日本語サイト繋がらない・・・。 >>145 つながらないねー 最近見てなかったけど書き込みもなかったのかな? 本家の新バージョンもでないし ここ数日なんだ。 nslookup で japansite.net 調べてもIP引けないし。 繋がった。 繋がらなかったのはなんだったんだろう? MS以外のゴシック使いたいんだけど、どうするんだ? Adobe Reader に Resource/CIDFont/KozGoStd-Medium-Sub.otf というフォントがついているのでそれを使いたいけど、 otf ファイルからフォントの設定を作る方法がわからん! おしえてエロイひと PDFLib7で半透明のテキストを出力したいのですが 可能でしょうか? 背景の上に描画して背景もテキストも見えるのが目的です。 >>22 なるほどね、自動羽化してね 気がつかなかったよ えげつなく過疎っているスレだな。もうみんな自分のやり方を身につけ終わったと言うことかな? 結構まだ、可能性があるはずなのに不便きわまりないんだがな。> PDF作成 で、最近お仕事が入るかも知れないので勉強中だが、UFPDFとTCPDFって物凄く似てない? というかどっちかがパクリ? いや、まだTCPDFの方は見てないんだけどな。これから見て同じなら物凄くがっくりだ。 PDFファイルのファイルサイズを小さくするソフトは 何がありますか?なるべく安い(無料)が良いですが・・・ >>154 ソフトっていうのはよくわからんけど・・・ まず、データが圧縮されていないと大きくなるね でスレ的に、PHP等で作るっていう前提で、フォント埋め込みがある場合、サブセット埋め込みに 対応しているかどうかが(当たり前だけど)一番大きい 逆に言うと、フォントの埋め込みがある場合は他の要素は無視していいレベルかもw で、PHPのライブラリで無償でフォントのサブセット埋め込みに対応しているライブラリは実は俺が 欲しいんだが、誰か知らないかな・・・。 HALはサブセット埋め込み出来るんだけど、既存PDFの読み込みが出来ない・・・ 結局、有料のPDFlib一択になりそうなのがすこーーーし寂しいんだ Javaを使えるなら、iTextで良いんだけどね >>155 自己レス HALじゃなくHARUだったw 自分は、symfonyで開発してて、 TCPDF(http://www.tecnick.com/public/code/cp_dpage.php?aiocp_dp=tcpdf ) sfTCPDFPlugin(symfonyのプラグイン) IPAのフリーフォント(http://ossipedia.ipa.go.jp/ipafont ) で試してみたけど、異常にファイルサイズが大きくて使い物にならない。 うまい方法ないかネェ…。 フォームに入力した文字列を、PDFに位置を調整した上で表示する。 という作業を行うページを作成したく思っています。 そのために必要なのは、基本的なPHPの知識と、FPDFでいいんですよね? こういったPDF作成に関する初学者のための勉強書、勉強サイトはないものでしょうか? MBFPDFとrotationを用い、文字の縦書きを行いたいのですが、 どうもクラスの受け渡しがうまくいっていないようです。 http://wp.myopensrc.com/2009/01/fpdf/ を参考に、 MBFPDFを 11: require('fpdf.php'); // Original Class 12: require('rotation.php'); // ★追加 41: class MBFPDF extends PDF_Rotate // ★修正 rotation.phpを、 2: require('fpdf.php'); // ★修正 4: class PDF_Rotate extends FPDF //そのまま としても、 Fatal error: Cannot redeclare class FPDF in C:\〜〜〜\fpdf.php on line 13 となってしまいます。 一体、どこが誤っているのでしょうか? 阿呆な上司が 「使用ユーザーが多いイントラサイトの印字要望が多すぎる。何とかしろ。 予算はないし、金はかけない方向で、できればクライアントPCへの印字クライアントとかではない方向で。」 と言ったのでFPDFでPDF出力機能を付加した。A4一枚に収まるのようにデザインもある程度工夫した。 ユーザーテストではまぁ、好評だった。しかし、上司は 「俺が言ったのはそういうことじゃないんだよ。しょうがねぇ。俺が作る」 で、出来上がったのは 単にHTMLの<table>タグで幅を指定したファイルを別ウインドウで開くだけのPHPファイル。 フォントサイズの指定もなければスタイルシートも使用していない。つまり、ブラウザの機能で文字の大きさや表示 のパーセンテージを変えればA41枚には収まらないこともあり使い物にならないもの。 私は何か間違った事をしたのでしょうか? >>160 間違ってるかどうかはお客さんに判断してもらったらいいじゃないかと。 せっかく作ったんだから、両方見せてさ。 んでお客さんが上司の方を選んだら、やっぱり何かあんたが間違ってたんだよ。 >>161 いろいろ作って見せるってのは、お客さんにも依るけど結構喜ばれるよね。 もちろん、ちゃんとそれぞれわかりやすく説明するのが大前提だけど。 で、こんな過疎スレでやるネタではないな この板、愚痴スレとかなかったっけ。 >>158-159 たまたま来たのでレスしておくけど、エラーメッセージ自体は、 「同じ名前のクラスが2回以上定義されてます」ってくらいの意味だから、 その辺を確認してみては。 この場合は「FPDF」ってクラスが、2回(以上)宣言されちゃってるはず。 require しか使っていないのなら、require_once について調べてみて。 Willing to break the law to do the right thing. , ここのサンプルの http://www.pdflib.com/pdflib-cookbook/text-output/image-as-text-fill-color/ if (resx > 0) { imagewidth = imagewidth * 72 / resx; imageheight = imageheight * 72 / resy; } の72というのがどこから来るのか分からなくて困ってます。 教えてください。 >>169 /* Calculate the image dimensions for 72 dpi */ って書いてるが? 過疎ってるっぽいのでageさせてください。 わかる方がいたら教えていただきたいのです。 現在、TCPDFを用いてPHPからPDFを作成しています。 独自クラス(PDFTest)を作成し、TCPDFを継承しています。 PDFTestクラスにHeader()を作成し、標準で用意されているヘッダを書き換えて出力するようにしました。 その後、AddPage()してデータを出力したのですが、なぜかデータがヘッダ部分に重なるように出力されます。 以下、現在のソースを抜粋したものです。 // PDFTest class class PDFTest extends TCPDF { public function Header() { $this->Cell(0, 2, '帳票名', 0, 0, 'C'); $this->Ln(); // この部分に帳票出力時の条件等を出力。最終的にヘッダ部出力後のGetY()は50.5になりました } public function putData() { $this->Cell(0, 10, 'データ部', 1, 0, "C"); // この部分がヘッダ部に重なります。理想は当然ヘッダの下に出力されて欲しいです。 } } // test.php $pdf = new PDFTest(); $pdf->AddPage(); $pdf->putData(); $pdf->Output(); どなたかわかる方がいましたらお願いします。 FPDI&FPDFでテンプレートの中の特定の文字列をreplaceする方法ないですか? 誰でも簡単にネットで稼げる方法など 参考までに、 ⇒ 『半藤のブブイウイウレレ』 というサイトで見ることができます。 グーグル検索⇒『半藤のブブイウイウレレ』 QMNLPDIO2H 伝統のエンジンが復活です。自動車メーカー・マツダはロータリーエンジンを搭載したSUV・多目的スポーツ車を発表しました。 マツダは先ほど、ベルギーで行われているモーターショーでロータリーエンジンを搭載したSUV「MX−30 e−SKYACTIV R−EV」を発表しました。 新型車は2020年に販売を始めたMX−30にモーターと発電用のロータリーエンジンを搭載したプラグインハイブリッド車です。 電池だけで85キロ走行でき、電池が切れても830ccのロータリーエンジンで発電しヨーロッパの燃費基準で650キロあまり走行可能だということです。 マツダでは世界的に進む電動化に対応し、電気自動車の充電切れを心配する客のニーズにあわせてコンパクトに設計できるロータリーエンジンを搭載したということです。 ロータリーエンジンは1967年に発売したコスモスポーツに搭載され、マツダの代名詞ともなっていましたが、2012年にRX−8の販売終了とともに途絶え、今回11年ぶりの復活となります。 新型車はドイツでの現地価格でおよそ504万円からで今年春に販売が始まり、今後、日本にも導入される予定です。 read.cgi ver 07.5.0 2024/04/24 Walang Kapalit ★ | Donguri System Team 5ちゃんねる