PHPExcelでPDFファイルを貼り付ける方法

このQ&Aのポイント
  • PHPExcelを使用してエクセルに画像を貼り付ける方法は分かりますが、PDFファイルの貼り付けについて行き詰まっています。
  • 現在のコードでは、PDFを貼り付けると「?」という画像が表示され、PDFが貼り付けられません。
  • 画像同様に指定の位置とサイズでPDFファイルを貼り付ける方法について教えていただきたいです。
回答を見る
  • ベストアンサー

PHPExcelでPDFファイルを貼り付けたい

アップロードされたファイルをエクセルに貼り付けを行い、出力するプログラムの 作成に関しまして、行き詰っております。 皆様のお知恵をお貸しください。 PHPExcelを使って画像をエクセルに貼り付けを行っておりますが、 下記コードでは、PDFを貼り付けようとすると「?」という画像が 貼りついた状態で出力され、PDFが貼りついてくれません。 ///画像用のオプジェクト作成 $objDrawing = new PHPExcel_Worksheet_Drawing(); $objDrawing->setPath($img);///貼り付ける画像のパスを指定 $objDrawing->setResizeProportional(false);////比率保持は無効 $objDrawing->setWidth(310);////画像の幅を指定 $objDrawing->setHeight(210);////画像の高さを指定 ///画像のプロパティを見たときに表示される情報を設定 $objDrawing->setCoordinates($image_pin);///位置 $objDrawing->setOffsetX(6);////横方向へ何ピクセルずらすかを指定 $objDrawing->setOffsetY(3);////横方向へ何ピクセルずらすかを指定 $objDrawing->getShadow()->setVisible(true);////ドロップシャドウをつけるかどうか。 ///PHPExcelオブジェクトに張り込み $objDrawing->setWorksheet($book->getActiveSheet()); 実現したいことは、画像同様に指定の位置に指定のサイズでPDFファイルの貼り付けを行うことです。 できれば、画像変換などの処理を行わずに行う方法をお聞きしたく 質問をさせていただきました。

  • toema
  • お礼率60% (43/71)
  • PHP
  • 回答数1
  • ありがとう数10

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

  • ベストアンサー
  • t_ohta
  • ベストアンサー率38% (5081/13278)
回答No.1

Excelの仕様としてPDFの埋め込みが出来ないので、画像変換せずに埋め込むのは無理だと思います。

toema
質問者

お礼

ご回答いただきまして、ありがとうございました。 ご指摘いただきました通り、画像変換は必須のようです。 ただ、レンタルサーバの制約でPDFを変換できませんでした。 他の機会がありましたら、試したいと思います。

関連するQ&A

  • phpexcelでEXCELの読み込みに関して

    WEB画面で帳票を作成したかった為、phpexcelを用いてEXCELにOUTPUT してから印刷しようと考えています。 そこで、以下のようなサンプル記述を実行したところ、ファイルも読み込みに成功し、 出力もできましたが、EXCELに書き込みができておらず、またOUTPUTされた ファイルも読み取り専用となってしまっていました。 何が原因なのでしょうか。。。。教えて下さい。 《サンプル記述》 < ?php include_once("PHPExcel.php"); include_once("PHPExcel/IOFactory.php"); $reader = PHPExcel_IOFactory::createReader("Excel5"); //テンプレートファイル読み込み $book = $reader->load("template.xls"); //シート選択 $book->setActiveSheetIndex(0); $sheet = $book->getActiveSheet(); //セルへ出力 $sheet->setCellValue("A1", "ぷぎゃー!!"); $sheet->setCellValue("B2", "どぷぎゃー!"); //ファイル出力 $writer = PHPExcel_IOFactory::createWriter($book, "Excel5"); $writer->save("output_".date("Ymd").".xls"); ?> よろしくお願いします。

    • ベストアンサー
    • PHP
  • PHPExcelバッファへの書き込みについて

    初めてPHPExcelを利用してExcel出力を行ってみましたが $writer->save('php://output'); で保存せずブラウザ経由で直接出力させようとすると 出力されたExcelな中身がおかしくなります。 文字化けされた内容で出力処理を記載したスクリプトファイルの中身が 表示されたような感じです。 事前にheaderでファイル名も指定していますが指定したファイル名ではなく、 スクリプトを実行しているPHPファイルの名前のxlsになります。 原因等わかる方いたら教えて下さい。 ちなみに以下の出力では正常にファイルが出力されました。 $writer->save('test.xls'); 【環境】 PHPExcel 1.7.6 PHP 5.3.8

    • 締切済み
    • PHP
  • PHPExcelにてcsv出力への対応

    現在、データベースの値をPHPExcelにてxls形式にて出力する システムを組んでおります。 これを.csv形式にてダウンロードさせたいです。 下記は、現状のExcel形式ダウンロードのソースです。 こちらをcsv形式にするべく、header部分をx-csv やファイル名を.csvにしてみる等を試しましたが、 ブラウザで開くとこのウェブページにアクセスできませんとなってしまいます。 処理が止まるのは、print ...;で確認して行くと、 $writer = PHPExcel_IOFactory::createWriter($book, "Excel5"); を$writer = PHPExcel_IOFactory::createWriter($book, 'csv');に 変更している位置でした。 xlsでテンプレート、内容を編集し、→csvで出力が行いたいです。 お詳しい方、どうぞ、ご教授のほど、よろしくお願い致します。 //PHPExcelをインクルード require_once(dirname(__FILE__) . '/Classes/PHPExcel.php'); require_once(dirname(__FILE__) . '/Classes/PHPExcel/IOFactory.php'); //オブジェクトを生成 $book = new PHPExcel(); $filepath = "./templates/sample.xls"; $reader = PHPExcel_IOFactory::createReader("Excel5"); $book = $reader->load($filepath); //シート設定 $book->setActiveSheetIndex(0); $sheet = $book->getActiveSheet(); $sheet->setTitle('Sample'); //シート名指定 ~セルに値を入れる処理~ // Excel形式で出力する //$outputFileName = "sample.xls"; //header('Content-Type: application/vnd.ms-excel'); $outputFileName = "sample.csv"; header('Content-Type: application/x-csv'); header('Content-Disposition: attachment;filename="' . $outputFileName . '"'); header('Cache-Control: max-age=0'); //$writer = PHPExcel_IOFactory::createWriter($book, "Excel5"); $writer = PHPExcel_IOFactory::createWriter($book, 'csv'); $writer->save('php://output');

    • ベストアンサー
    • PHP
  • PDFをエクセルに貼り付け?

    スキャナーからPDF形式で読み込んだデーターを エクセルに貼り付けるときの質問ですが アクロバットリーダー(8.1)にて画像(横向き)をコピー エクセル(2000)に貼り付けを行うとき取り込んだ横方向で 貼り付けたいのですが 貼り付けると縦向きで 貼り付いてしまいます。 PDFで読み込んだ方向のまま貼り付ける方法はあるのでしょうか?

  • PDFの画像を決められた大きさで印刷したい

    PDFに描かれている画像をインターネットで手に入れました。これをA4に印刷しようとしています。印刷用紙はA4のままでいいのですが、描かれている画像をもう少し大きく(指定した大きさに)印刷したいのですがどうしたらいいでしょうか。PDFの中味を書き換えるソフトは持っていません。せめて、ワードかエクセルへ「切り取り」、「貼り付け」ができると好きな大きさにして印刷できるのでいいのですが。

  • PDFファイルの印刷について

    acrobat8proを使用しています。 EXCEL(2003)で作成したファイルにて、印刷より変換してPDFファイルを作成しました。 作成したPDFファイを印刷すると、EXCELでセルを色付していた見出しが、印刷すると黒く塗り潰されて出力されてしまいます。プレビューでは問題ないのですが。設定か何かでしょうか? ご教授お願いします。

  • PDFファイルの向きが正位置にならない

    パワーポイント2007で図解を作成し、印刷段階でPRIMOのPDFに変換する場合、A4の横位置を正位置としてパワポで作成しても、PDFになると90度左回転した縦位置になってしまいます。それは見る時に「表示」で右に90度回転すればいいのですが、これをいったんホームページにアップした場合には、回転が不可能です。PDFに変換作成時に、どこかクリックするのでしょうが、それを教えてください。なお、PDFに変換時にプロパティで横位置、縦位置、横位置に変換等がありますが、これは全然役立たずの無効ものです。よろしくお願いいたします。

  • いきなりPDF Professional

    いきなりPDF ProfessionalのPDF結合で、結合するファイルの指定を行おうとすると応答なしとなって固まってしまいます。結合しようとするファイルに問題があるのでしょうか。自身で作成したエクセルファイルをPDF出力したものは結合できます。

  • PDFファイルをJPEGかビットマップで保存できますか?

    会社のスキャナーで書類を読み込むと、自動的にPDFファイルが作成され、そこに画像が表示されます。(他の部署の所有物なので、この設定は触らずにおきたいです) 読み込んだ画像(書類)の使用目的は、ワードかエクセルに画像として貼り付けて、そこに書類の説明(記入方法など)をテキストボックスやオートシェイプで書き加えることです。 PDFのままではワードやエクセルに画像として貼り付けることは不可能ですよね? そこで、スキャン後自動的に作成されたPDFをそのままJPEGかビットマップで保存したいのですが、どうしたらいいでしょうか。 「名前をつけて保存」でファイル形式を選択すればいいのかと思ったのですが、ファイル形式のプルダウンメニューにはPDF以外ありませんでした。 仕方なく、PrintScreen→ペイント→貼り付け、で行っていたのですが、他に何かいい方法がありましたら教えてください。

  • Excelファイルを一括でブック全体をPDFに出力したいのですが

    フリーソフトで大量のExcelファイルをPDF化できるのを探しています。 瞬間PDFゼロをインストールしてみたのですが、Excelを開いたときにアクティブになるシートのみPDFに出力され、他のシートは出力されないので、 一括指定できてブック全体をPDF出力できるソフトウェアをご存知でしたら教えてください。

専門家に質問してみよう