• ベストアンサー

ASP.NETでPDF作成のための使用ツールは?

web上(aspx)で帳票をPDFにて出力したいのですが、一般的にはどのように作成するのが普通でしょうか。 実現したいことは以下のとおりです。 ・IE6、IE7、IE8上で動作 ・Wordで作成した文書にプログラムから差込印字を行った結果をPDFとして  出力したい。

  • GBSGBS
  • お礼率36% (370/1012)

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

  • ベストアンサー
回答No.1

Office2007以降がサーバにインストールされている場合、Office標準でPDF出力機能があるはず。 それ以前のOfficeしかサーバに存在しない場合、PDF化は別の方法を考えなければなりません。 そういった場合、「Word文書のPDF化」を調査し、過去の質問にも履歴がなかったら、別途質問スレを立ててください。 ・差し込み印刷 ・PDF化 ・ダウンロード 三つの機能を一つのスレで投げかけると、一つの機能しか答えられない人は回答するのを躊躇してしまいがちです。それによって質問者さんは「回答を中々得られない」という状況になってしまいます。 ですので、、、質問は、、、 ・質問スレは機能毎に立てる。 ・ただしその機能を利用して、何をやろうとしているかの全体像の説明もあると、予備知識を得ることもあります。 ・開発環境やツール等のバージョンを記す。 というように行うと、いち早く解決策を見つけやすくなります。 前置きが長くなりましたが、、、、 以下はOffice2010インストール済/VB2005でのサンプルです。 ・「ワードの差し込み印刷方法」の質問であれば、別に質問してください。 ・サンプルは「PDF化」「ダウンロード」という2点にだけ対応してます。 ・サンプルはWordライブラリの参照設定を必須とした方法を利用しています。 ※構成 プロジェクト(COM:Microsoft Word xx(13or14になるのかな?) Object Liblaryを参照設定) ├page1.aspx │└Button1 └page2.aspx ※page1.aspx.vb Protected Sub Button1_Click(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click  'page2起動  Response.Redirect("page2.aspx") End Sub ※page2.aspx.vb --名前空間引込み-- Imports System.IO Imports System.IO.Path Imports Microsoft.Office.Interop Imports System.Runtime.InteropServices.Marshal Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load  Dim l_strDocName As String = "C:\文書.doc"  'PDF化  Dim strTemp As String = OutputPdf(l_strDocName)  'バイト配列変換  Dim bytBuff() As Byte = ConvertBuff(strTemp)  '変換後のファイル削除  File.Delete(strTemp)  'ダウンロードファイル名  Dim strDlName As String = Path.ChangeExtension(Path.GetFileName(l_strDocName), "pdf")  'ダウンロード  Response.Clear()  Response.Buffer = True  Response.ContentType = "application/pdf"  Response.AppendHeader("Content-Disposition", "attachment;filename=" & Server.UrlEncode(strDlName))  Response.OutputStream.Write(bytBuff, 0, bytBuff.Length)  Response.Flush()  Response.End() End Sub 'PDF化 Private Function OutputPdf(ByVal p_strPathDoc As String) As String  Dim l_wodApp As New Word.Application  Dim l_wodDocs As Word.Documents = l_wodApp.Documents  Dim l_wodDoc As Word.Document = l_wodDocs.Open(p_strPathDoc)  'TODO:差し込み処理をするのであればここで  Dim l_strPathTmp As String = IO.Path.GetTempFileName()  Call l_wodDoc.ExportAsFixedFormat(l_strPathTmp, Word.WdExportFormat.wdExportFormatPDF, IncludeDocProps:=True)  Call l_wodDoc.Close()  Call l_wodApp.Quit()  Call ReleaseComObject(l_wodDoc)  Call ReleaseComObject(l_wodDocs)  Call ReleaseComObject(l_wodApp)  Return l_strPathTmp End Function 'バイト配列変換 Private Function ConvertBuff(ByVal p_strPath As String) As Byte()  Dim bytRet() As Byte  Using fs As New FileStream(p_strPath, FileMode.Open, FileAccess.Read)   bytRet = New Byte(fs.Length - 1) {}   fs.Read(bytRet, 0, bytRet.Length)  End Using  Return bytRet End Function

関連するQ&A

  • ASPからPDFファイルを自動作成

    ASPからある処理の結果を帳票として、PDFファイルに自動に作成したいのですがどのように実現したらいいのかわかりません。処理の流れは以下の通りです。 1.サーバサイドで実行したSQL文の結果を帳票の明細部として出力 2.XXX.PDFという名前のファイルをサーバに作成し、罫線、ヘッダ部およびSQL結果の明細部を描画していく エクセルに帳票レイアウトを作成し、セルにSQL結果を埋めていって、出力プリンタ先をAcrobat Writerにすればできると思うのですが・・・それ以外の市販PDF作成ツール等を利用しないで作成する方法はございますでしょうか? VBのPRINTERオブジェクトみたいなものがASPにはないとおもうのでどう実現したらいいのかわからないため 質問内容がおかしければ言ってください。 またできましたらサンプルコードを教えてください。 開発環境は、NT4.0、SQLサーバ7.0、Acrobat5.0をイントラネット環境で使用します。

  • PDFが白紙になる

    ウェブでPDFの帳票を出力するシステムを作っているのですが、IE9では問題ないのにIE8ではPDFの中身が白紙になってしまうという事象が起きて困っています。 言語はVB.NETです。

  • asp.netで帳票の作成。IE上でPDFを開く

    asp.netで初めてWebサイトの構築をすることになりました。 既に決まった体裁のPDF(見本)があり、それを実現したいのですが、 何から手をつけたらよいか困っています。 今のところ思いついたのが、 エクセルでテンプレートを作成しておく⇒そこにデータを入力⇒PDFに変換⇒ブラウザに表示、です。 しかし、エクセルをPDFに変換後、ブラウザに表示するには、どうしたらよいのか、全くわかりません。 日程的に短期間で作成しなけばいけなく、、、簡単にとっかかれるものを考えています。 何かご教授いただけると大変助かります。 よろしくお願いします。

  • ワード作成文書をPDFにするには?

    会社でワードなどで作成した文書を、PDFで送ってくれと上司に言われました。(勉強中なのに!!)PDFは知っていましたが、ワードで作成した文書をPDFで送るやり方が解りません。っていうか、ワードで作成した文書をPDFで見られるのでしょうか?  それと、もし、作成したワード文書をPDFに写せた(見れた)? としたら送信する為に保存とかしなくてはいけないのでしょうか? どなたか詳しい方がいらっしゃいましたら、教えて下さ~い。

  • A4サイズとして作成したPDF文書をA5として印刷すると文字がつぶれます

    これをどうしたら潰れずにちゃんと印刷できるでしょうか? 確かに文字は小さくなりますが、問題となっているPDF文書の文字サイズはワードで言えば10ポイント位なので、もしこれをワードでA4作成→A5印刷しても問題なくきれいに印字できるので、PDFでもきれいに印字することは不可能ではないと思います。 ご回答よろしくお願いします。

  • PDFファイルの作成って

    よくPDFでできてる説明書なんかありますよね。私のマシンはWin機なのですが文書作成においてワードじゃちょっとプロっぽさにかけるというか、もっとレベルの高い文書作成をしてみたいのですが、PDFファイルって何で作成するのでしょうか?ワードと比べてやっぱり難しいですかね?

  • 帳票の作成に向いているツールは?

    社内で使用する帳票を作成しているのですが、 Wordで作ってもExcelで作ってもやたらと時間がかかってしまいます。 一般的にはどちらが向いているのでしょうか? ついでに帳票の作成を支援するアドオンなどがあれば教えていただきたいです。 もしくはWord,Excel以外でも帳票作成に向いているソフトなどがあれば(出来れば無料で)教えていただきたいです。 ちなみに作成しようとしている帳票は記入欄がたくさんあり、罫線で囲まれています。 Wordではそれを挿入した表で表現するのですが、枠の大きさの微調整などがうまくいかずイライラします。 Excelでは枠の微調整が楽ですが、それ以外の操作性はWordの方が上のような気がします。

  • PDF文書作成について

    PDF文書作成について 20P(ページ)程度のワード文書を目的別にPDFに変換したいのです。 変換ソフトはオフィス2007の標準ソフトで実施します。 例えば20Pのワード文書をそのままで1-5P、12-18Pのみ(必要なページのみ)PDFに変換する方法を教えてください。

  • webmatrixによる帳票出力について

    webmatrixにてWebのシステムの開発を検討しています。 帳票出力の部分がわからず悩んでおります。 帳票はPDFで出力したいのですが、どのような方法が一般的なのかがわかりません。 有償・無償のソフトを問わず、お勧めのものがありましたらご教授ください。 ダイレクトにPDFを出力しても、一度画面上に帳票イメージを出力して、PDFに変換するなど 調査をしていました。 現在までに調べたものは、iTextSharpとNetOfficeを使いPDFの作成を行いました。 iTextSharpは、簡単な帳票は問題ないのですが、複雑な帳票を作るには、 作業効率が悪すぎると感じました。 NetOfficeは、Excelファイルを作成してPDFに変換をかけましたが、サーバサイドで Excelを動かすには問題がありそうなので、却下となりました。 Web初心者なのでかなり手詰まりかんがあります。 よろしくお願いします。

  • PDF作成についてよろしくお願いします。

    こんにちは。PDF作成についてご教授下さい。 当方 PC:Toshiba dynabook AX/53c 2007夏モデル OS:Windows vista HomePremium CPU:インテルCelelonM440 メモリ:1GB HDD:80GB Office Personalを使っております。 そこで、Word2007を使い文書を作成しており、今までPDFにするときはWordのアドイン機能を使うかクセロPDFを使っておりました。 ですが、この度作成した文書に画像に入れたハイパーリンクを有効にしたPDFファイルを作成したいと思い、「Adobe Acrobat Professional 8」の体験版をダウンロードし、早速起動し作成しようとしたところ 『ファイルの種類がサポートされていないかファイルが壊れている(電子メールの添付文書として送信され正しくデコードされなかったなど)ため、Acrobatでは'ファイル名'を開けません。 Adobe PDF 文書を作成するには、元のアプリケーションに移動してから、文書をAcrobat Distiller プリンタで印刷するか、Microsoft Office のメニューにある Acrobat メニューを使用します。』 このようなダイアログが表示され、作成できません。 元のアプリケーションからの印刷からもできません。ライセンス認証がいるそうですが、体験版のため無理ですよね。 どうしたら良いのでしょうか? さらに 【ファイルの種類がサポートされていないかファイルが壊れている(電子メールの添付文書として送信され正しくデコードされなかったなど)ため、Acrobatでは'ファイル名'を開けません】 とはそもそもどのような状態ですか、破損しているとは? ちなみに保存形式はword2003-2007互換形式です。 念のため、同じファイルを別名でdocx形式(最新のWordの形式?)で保存して試してみてもだめでした。 とりとめもない質問かも知れませんがどうかよろしくお願いいたします

専門家に質問してみよう