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が見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 財務・会計・経理 青色申告での帳票保存について 2 2023/02/23 10:53
- Word(ワード) wordで画像&文書作成→pdf→pngに変換するにはどうすれば良いですか?有料ソフトを使いません。 3 2022/08/07 09:25
- Excel(エクセル) ファイル一覧表を使ったファイルの移動 5 2022/08/10 15:37
- PDF AdobeAcrobatでWEBページを丸ごとPDF化 4 2022/05/12 12:22
- PDF PDFに精通した方に質問。JPEGファイル群を一つのPDFファイルにするときの容量変化について 6 2023/07/23 19:06
- Excel(エクセル) 【マクロ】ファイル名の日付によって、保管するフォルダを、自動選択したい 4 2023/08/16 11:24
- Excel(エクセル) PDFファイルに日付を名前にして保存したい。 エクセル2019でワークシートに請求書のフォームを作り 2 2023/05/27 11:13
- その他(プログラミング・Web制作) python OpenPyXLを使って出力結果をエクセルに書き込み 2 2022/06/04 19:46
- PDF いきなりPDFで文書の切り取り 3 2022/10/29 13:25
- ノートパソコン PDF、プリントスクリーンがいきなり印刷されなくなりました。 NEC ラビィLS150 WINDOW 6 2023/01/15 00:15
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
緯度、経度の 10進法と 60進法...
-
マンセル⇔XYZ,RGB変換式或いは...
-
Excel-VBAのmsgBox()の不思議
-
3のつく数字と3の倍数のみを表...
-
VB.NETをJavaに変換するツール...
-
家電製品の電力周波数を変える機械
-
エクセルのvbaで検索ボタンを作る
-
PHPで、日本語からアルファベッ...
-
Mac 乗数の入力方法
-
c++でmatからvectorへの変換の...
-
c++でドル円変換のプラグラム...
-
画像ファイルから.icoフォーマ...
-
bmp→jpgに、jpg→bmpに
-
GetDlgItemInt( ) c++
-
DOSコマンドでの文字コード変換...
-
VB.NETからJavaに変換するツー...
-
【EXCEL】カナ、ひらがなを英字...
-
bitmapクラスをiconクラスに変...
-
VBで全銀TCPIPをコントロールす...
-
XML→HTMLに変換したい
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
緯度、経度の 10進法と 60進法...
-
家電製品の電力周波数を変える機械
-
Mac 乗数の入力方法
-
10進数をBCDに変換する方法
-
bmp→jpgに、jpg→bmpに
-
なぜ通信には16進数文字列が使...
-
画像ファイル変換(Tiff→PDF)
-
シフトJISのCSVファイルをUFT-8...
-
分を時間に変換するプログラム
-
【EXCEL】カナ、ひらがなを英字...
-
C/C++→JAVAに変換するツール
-
c++でmatからvectorへの変換の...
-
UTF8→ShiftJISに変換したいです!
-
VB6からVB2010への変換について
-
C#でのpngからbmpへの変換について
-
StrConvの使い方について教えて...
-
PHPで、日本語からアルファベッ...
-
エクセルVBAの自動変換機能?
-
C++からCへのソース変換について
-
VB.NETをJavaに変換するツール...
おすすめ情報