出来るのだASP Q&A掲示板(過去LOG)  訪問数 52046 昨日 889 今日 776
    【PR】 パソコン入門からIT専門書まで幅広く取り揃えています。セブン-イレブン受取り手数料無料のセブンアンドワイ。
Topに戻る 掲示板に戻る 検索 削除 管理者

ASPからサーバ上でPDF化する方法   杉本さん [2001/12/03 17:53:58] [1181]
  Re:ASPからサーバ上でPDF化する方法   Tomitomiさん [2001/12/03 18:47:36] [1183]
    Re:ASPからサーバ上でPDF化する方法   杉本さん [2001/12/04 13:01:16] [1189]
      Re:ASPからサーバ上でPDF化する方法   Tomitomiさん [2001/12/04 13:39:22] [1190]
        Re:ASPからサーバ上でPDF化する方法   杉本さん [2001/12/04 18:50:41] [1200]
          Re:ASPからサーバ上でPDF化する方法   Tomitomiさん [2001/12/05 10:39:55] [1205]
            機械翻訳   北岳さん [2001/12/05 11:37:04] [1208]
              Re:機械翻訳   杉本さん [2001/12/05 12:49:40] [1211]
                Re:機械翻訳   Tomitomiさん [2001/12/05 13:07:52] [1213]
                  機械翻訳・新発見   北岳さん [2001/12/05 14:48:20] [1214]
            Re:ASPからサーバ上でPDF化する方法   杉本さん [2001/12/05 12:47:54] [1210]
              Re:ASPからサーバ上でPDF化する方法   Tomitomiさん [2001/12/05 13:06:23] [1212]
                ADOBE Acrobat PDF Reader/Writer   北岳さん [2001/12/06 9:59:02] [1215]
  光が見えてきましたw   Tomitomiさん [2001/12/06 16:54:20] [1217]
  Acrbat 5.0 SDKを使ってみました   杉本さん [2001/12/07 15:56:12] [1224]
    Re:Acrbat 5.0 SDKを使ってみました   Tomitomiさん [2001/12/07 16:16:09] [1226]
  ASPからサーバ上でPDF化する方法(暫定版)   Tomitomiさん [2001/12/10 18:26:35] [1229]

[1181] ASPからサーバ上でPDF化する方法
投稿者:杉本さん 2001/12/03 17:53:58
ASPでサーバー上にアップロードしたファイルをPDF化したいのです。
それと予め作成したPDFへASPで書き込むことは可能なのですか?

過去のリストを検索したら、PDFLibのURLがあったのですが、
これは、ASPのコンポーネントとして、ASPプログラムコードから、直接でききるのですか?
また、Acrobat Distillerもこのようなことができるのですか?
参考書籍等があれば、紹介してください。よろしく御願いします。




[1183] Re:ASPからサーバ上でPDF化する方法
投稿者:Tomitomiさん 2001/12/03 18:47:36
こんばんわ、Tomitomiです。

> 参考書籍等があれば、紹介してください。よろしく御願いします。

一般的に、Pdflibというのを使うらしいです。

http://www.pdflib.com

[1189] Re:ASPからサーバ上でPDF化する方法
投稿者:杉本さん 2001/12/04 13:01:16
ありがとうございます。
見たんですが、ちょっと不明なところがありまして、フリーなんですかね。サンプルのようなものは、ないんでかね。

[1190] Re:ASPからサーバ上でPDF化する方法
投稿者:Tomitomiさん 2001/12/04 13:39:22
こんにちはTomitomiです。

> ありがとうございます。
> 見たんですが、ちょっと不明なところがありまして、フリーなんですかね。サンプルのようなものは、ないんでかね。

僕も仕事で使ったわけではないので(実験してましたw)はっきりしたことは言えませんが、
たしか、ダウンロードして解凍するとVBか何かのサンプルが入っていたと思います。

何せ1年前の記憶なのではっきりしなくてすみません。
あといろいろな言語で利用されているので検索すると結構出てきます。
技術的なことでは、
僕が覚えている限りでは、日本語の読み書きでちょっと苦労しました。化けるのです。
こちらも解決法があったと思います。
参考になったかなぁw

[1200] Re:ASPからサーバ上でPDF化する方法
投稿者:杉本さん 2001/12/04 18:50:41
ありがとうございます。度々すみません。
PDFlib-4.0.1-activex.exeをダウンロードしたんですが、解凍っていうより、セットアップって感じですがいいんですよね。
ASPで利用しようと思ってるんですが、どのようにコード化したらいいのかわかりません。たぶん、CreateObjectとかすると思うんですが、VBのサンプルを見ればわかりますかねー。もし、ASPのサンプルがあったら、紹介ください。

[1205] Re:ASPからサーバ上でPDF化する方法
投稿者:Tomitomiさん 2001/12/05 10:39:55
こんにちは、Tomitomiです。

> PDFlib-4.0.1-activex.exeをダウンロードしたんですが、解凍っていうより、セットアップって感じですがいいんですよね。

今後のために、実験してみました。
DLLの登録と「C:\Program Files\PDFlib\PDFlib 4.0.1」にサンプルや説明書がインストールされます。
で、「PDFlib 4.0.1\examples\Active Server Pages」にASPのサンプルがあります。
それをご参考にしてください。といいたいところですが、前回も書いた通り日本語を表示するのに苦労するのを見越して
僕が、サンプル内の「hello.js.asp」を日本語表示するように修正を加えたので、
以下のコードでお試しください。
ただし、「JScript」で書かれているので、「VBScript」へはご自分で直してください。
また、実行するとわかるのですが、背景文字?に「PDFlib.com」と入ります。
またそれを消す方法を今のところわかっておりません。w
レジストの問題かなぁ。フリーだったような気がしたけど。。僕も英語ダメなので。w


<%@ LANGUAGE = "JavaScript" %>
<%
// $Id: hello.js.asp,v 1.4 2001/02/28 18:10:40 tm Exp $
//
// PDFlib client: hello example for ActiveX with Active Server Pages and JScript
// Requires the PDFlib ActiveX component
//
var font;
var oPDF;

oPDF = Server.CreateObject("PDFlib_com.PDF");

if (oPDF == null) {
Response.write("Couldn't create PDFlib object!");
Response.end();
}
//日本語CIDフォントを使う為に必要らしい。
oPDF.set_parameter("nativeunicode","true");

// Open new PDF file
oPDF.open_file("");



//oPDF.set_info("Creator", "hello3.asp");
//oPDF.set_info("Author", "Thomas Merz");
oPDF.set_info("Title", "こんにちは、とみとみです。");

// start a new page
oPDF.begin_page(595, 842);

font = oPDF.findfont("HeiseiKakuGo-W5", "UniJIS-UCS2-HW-H", 0);

oPDF.setfont(font, 24);

oPDF.set_text_pos(50, 700);
oPDF.show("こんにちはTomitomiです。");
oPDF.continue_text("どうなんだい?");

oPDF.end_page();
oPDF.close();

Response.Expires = 0;
Response.Buffer = true;
Response.ContentType = "application/pdf";
// The following header is suggested in order to prevent problems with IE
Response.Addheader("Content-Disposition", "inline; filename=" + "hello3.pdf");

Response.BinaryWrite(oPDF.get_buffer());
Response.End();
%>

[1208] 機械翻訳
投稿者:北岳さん 2001/12/05 11:37:04
> 僕も英語ダメなので。w

http://www.nifty.com/globalgate/
の機械翻訳ならタダだし、早いです。
お試しあれ・・・と言いたいところですが、「超訳」が得られます。
滝にでも打たれて5感を研ぎ澄ましてから、第6感で解釈せななりまへん。
(お〜い、ドラエも〜ん、翻訳コンニャク貸して〜)

[1211] Re:機械翻訳
投稿者:杉本さん 2001/12/05 12:49:40
紹介していただいて、ありがとうございます。
翻訳ソフトはATLASがあります。

[1213] Re:機械翻訳
投稿者:Tomitomiさん 2001/12/05 13:07:52
僕もありがとうございます。

僕はinfoseekのページ翻訳です。
でも説明読むよりプログラムみたほうが早い場合もあるw

[1214] 機械翻訳・新発見
投稿者:北岳さん 2001/12/05 14:48:20
> 僕はinfoseekのページ翻訳です。
 
http://www.infoseek.co.jp/Honyaku?pg=honyaku_t_inout.html
ですね。
niftyのglobalgate(前出)と比べて、少しでも翻訳が上手な方を
使おうと、各々のテキストボックスに同一の英文を入れてみました。
得られた和文は---一字一句たがわぬ、全く同じ文章。
ちょっとがっかりした新発見でした。



[1210] Re:ASPからサーバ上でPDF化する方法
投稿者:杉本さん 2001/12/05 12:47:54
ありがとうございます。動きました。
ちょっと僕は勘違いしてたかもしれません。
これは、新しいPDFの任意の所に書きこむ作成するんですよね?
サーバ(IIS、ASP)上でPowerPoint、Excel等のファイルをPDF化することってできるんですかね。

[1212] Re:ASPからサーバ上でPDF化する方法
投稿者:Tomitomiさん 2001/12/05 13:06:23
こんにちは、Tomitomiです。

> ありがとうございます。動きました。
> ちょっと僕は勘違いしてたかもしれません。
> これは、新しいPDFの任意の所に書きこむ作成するんですよね?
> サーバ(IIS、ASP)上でPowerPoint、Excel等のファイルをPDF化することってできるんですかね。

僕も勘違いしてましたw。アップロードしたファイルをPDF化したいと
書いてありましたねw。
あらかじめ作成したPDFに書き込むことは可能だったはずです。
Excel等を変換するのは、たしかPDFワイラー?を利用するとかなんとか、
VB関係の掲示板で見た覚えもあります。
でも結論としてできなかったような気もします。
すみません。僕のPDFに関する情報は1年前の物なのではっきりしません。
サーチエンジン等でASP + PDFよりはVB+PDFで検索したほうが情報はたくさんあると思います。
あとはよろしくw。でできたら僕にも教えてw

[1215] ADOBE Acrobat PDF Reader/Writer
投稿者:北岳さん 2001/12/06 9:59:02
最初に雑談。
昨夜初めて、PDF Writerなるものの存在に気付き、自宅で使ってみました。
買ってすぐ壊れたプリンタが直ってきたのですが、プリンタを再インストールしたら、同時にインストールされたらしいです。
 
(それとも、買ってすぐ壊れたまま---同じ会社の!---放っぱらかしのスキャナの方から、来ていたのかな?
プリンタがないと、Writerの存在には、まず気付きません。)
 
ADOBE ACROBAT の Readerは、exeファイルですが、
Writer の方は、単なる(?)プリンタドライバだったんですね。
 
年賀状やEXCELファイルの印刷先を、プリンタ(機械)でなくpdf(ファイル)に指定したら、win98上にpdfファイルが できました。
昔は1枚15円だった年賀状(もっと昔は、リンゴ1個で5円)が、今では50円もするんで、今年の年賀状は、これをメールで出そうかな・・・?
 
----------------------
本題に戻りまして、
表題の件、BABA CENTERFOLDS の過去ログ:
http://www.bea.hi-ho.ne.jp/byoko/bnewslog17.html#0094
[ASP] Excelファイルについて
( 2000/02/28 18:12 もよよ?さんから)
のスレッドをご参考に。




[1217] 光が見えてきましたw
投稿者:Tomitomiさん 2001/12/06 16:54:20
北岳さんのレスを参考になんとなくわかってきたTomitomiです。w

必要な物
Acrobat PDFWriter
↓ダウンロード先(*シリアルが必要)
http://www.adobe.co.jp/support/downloads/eula_pdfmaker.html

Acrobat PDFWriterをインストールすると、プリンタに「Acrobat PDFWriter」として出てきます。
そして、適当なファイルを「Acrobat PDFWriter」をプリンタとして、指定して印刷します。
するとファイルの保存先を指定するダイアログが出てきますので、適当な場所に保存します。

はい。PDF変換できましたね。
しかし、VB or ASPで変換するためには、保存先ダイアログは不要ですよね。
そこで、以下のiniファイルの[Acrobat PDFWriter]エントリーに

C:\WINNT\system32\spool\drivers\w32x86\2\__PDF.INI

[Acrobat PDFWriter]
PDFFILENAME=フルパスとファイル名
bDocInfo=0

を追加します。
そこでまた印刷。あら不思議ダイアログが消えましたね。
しかし、このiniファイルは毎回書き換わるため、Acrobat PDFWriterを利用するたんびに
iniファイルへ追加する必要があります。

iniファイル等はVBで操作できるので、VBでDLLを作る形になりますね。*ASPでも可能かも?

次に

Excelファイルを開かずに印刷させる処理を考えなくてはいけません。
これもVBにて行わなくてはいけません。

ようするに、PDF化を行うDLLを作る。DLLをASPからコールしてできたPDFにASPから飛ばす。
となります。

で、こちらもDLL化することになるでしょう。

おもしろくなってきたので、今DLLを作成して実験中です。
できたら公開しますので今しばらくお待ちください。w

[1224] Acrbat 5.0 SDKを使ってみました
投稿者:杉本さん 2001/12/07 15:56:12
Acrbat 5.0 SDKでも、PDFLIbと同じようなことができるんですね。
ASPを利用して、FDFテンプレートに書き出すことが出来ました。
でも、書き出されたPDFはブラウザに表示されているんですが、
空のAcrobatが立ち上がったままなんです。
これを閉じることができれば、PDFLIbよりいいかも知れませんね。

ファイル指定でPDF作成は、DLL化すれば可能なんですか。
DLL化された場合は、ぜひ紹介してください。

[1226] Re:Acrbat 5.0 SDKを使ってみました
投稿者:Tomitomiさん 2001/12/07 16:16:09
こんにちは、Tomitomiです。

> Acrbat 5.0 SDKでも、PDFLIbと同じようなことができるんですね。
> ASPを利用して、FDFテンプレートに書き出すことが出来ました。
> でも、書き出されたPDFはブラウザに表示されているんですが、
> 空のAcrobatが立ち上がったままなんです。
> これを閉じることができれば、PDFLIbよりいいかも知れませんね。
>
> ファイル指定でPDF作成は、DLL化すれば可能なんですか。
> DLL化された場合は、ぜひ紹介してください。

そうなんですよ。VBではできたのですが、ASPからの利用を前提に考えているので、DLLにしようと思ったのです。w
しかし、仕事の都合上来週中ごろまでかかりそうです。
できたらもちろん公開しますので、お楽しみに。

[1229] ASPからサーバ上でPDF化する方法(暫定版)
投稿者:Tomitomiさん 2001/12/10 18:26:35
こんにちは、Tomitomiです。
例の物です。とりあえず実現可能です。DLLは無理ですが。w
長文になります。また読みにくい文章ですみません。

ちょっと説明
「Acrobat PDFWriter」をインストールして、Excel等を開きプリンターを「Acrobat PDFWriter」にすると、
保存先が表示され、OKすると、PDFファイルが出来上がり、「Acrobat Reader」が立ち上がり表示する。

で、実際VB等で使用する場合は、ファイル名ダイアログと「Acrobat Reader」が立ち上がるのを抑制したいので、
以下のようにする。

ファイル名ダイアログを抑制するには、
「__pdf.INI」に

PDFFILENAME=作成するPDFファイルまでのパス
bDocInfo=0

*PDFFILENAMEはPDFファイル作成毎に書き換わるのでVBにて毎回iniファイルを書き換える。
とする。
「Acrobat Reader」が立ち上がるのを抑制するには、
「__pdf.INI」の
「bExecViewer=1」を「bExecViewer=0」とする。

でOK.

後は、これでDLLを作ればできるかな?と思いきや。。最後の最後でダメでした。

1.ASPにてサーバ側で印刷するには、レジストリを書き換える必要がある。*これは試してOKでした。
  VBでは、動いてなぜASPではだめなの?と思うかもしれませんが、ASPでExcel等のオブジェクトで印刷する場合、
  権限がsystemになるそうです。なのでレジストリのsystem領域にプリンタを追加してあげるのです。。

2.普通のプリンターは上記設定により印刷できるが、PDFWriterではエラーになる。
 ↑これでダメでした。いろいろ調べましたが、権限関係で苦労するぽいので早々にあきらめました。


解決策として、レジストリ書き換えるのも難儀なので、VBで以下のソースを元にexeを作る。
それを、Basp21等を利用し、ASPからコールする。まだ試してませんが、これが一番楽そうです。

注意点
ダイアログ抑制関係で使う、「__pdf.INI」ですが、PDFWriter4.Xではレジストをいじらなければ、抑制できないそうです。
僕は、PDFWriter4.Xは持ってないので、PDFWriter4.Xを使う場合はご自分でお調べください。w

□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■
必要なもの・こと
Acrobat PDFWriter 3.03

参照設定にて、「Microsoft Excel X.X Object Library」にチェックする。
*「X.X」は、バージョンです。

「__pdf.INI」を、書き換える。
*私の環境では、「C:\WINNT\system32\spool\drivers\w32x86\2\__pdf.INI」

iniファイルの「bExecViewer=1」を「bExecViewer=0」とする。
↑これにより、「Acrobat Reader」がPDFファイル作成後、「Acrobat Reader」が立ち上がるのを抑制できる。
□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■□■

呼び出し部(フォームなど)==============================================================================
Call sSet_ini("C:\WINNT\system32\spool\drivers\w32x86\2\__pdf.INI", "E:\test.pdf")
Call ExcelPrint("E:\test.xls")


'ファンクション部(標準モジュールなど)=================================================================
'iniファイル書き込み用
Private Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" _
(ByVal lpApplicationName As String, _
ByVal lpKeyName As String, _
ByVal lpString As String, _
ByVal lpFileName As String) As Long

'iniファイルを書き込む
Function sSet_ini(ByVal sIniFileName As String, ByVal sPDFFileName As String) As Long
On Error GoTo ErrNanoda
'ダイアログを非表示にする
lRet = WritePrivateProfileString("Acrobat PDFWriter", "PDFFILENAME", sPDFFileName, sIniFileName)
'作成者名ダイアログを非表示にする
lRet = WritePrivateProfileString("Acrobat PDFWriter", "bDocInfo", "0", sIniFileName)
Exit Function
ErrNanoda:

sSet_ini = Err.Number & ":" & vbCrLf & Err.LastDllError & vbCrLf & Err.Description
End Function

'Excelファイルを印刷する。 By PDF
Public Function ExcelPrint(sFilePath As String) As String
Dim ErrFLAG As Integer
Dim EXF As Excel.Application
Dim ObjBook As Excel.Workbook

On Error GoTo ErrNanoda

ErrFLAG = 1
Set EXF = CreateObject("Excel.Application")
ErrFLAG = 2
Set ObjBook = EXF.Workbooks.Open(sFilePath)
ErrFLAG = 3
ObjBook.Application.Visible = False
ObjBook.Application.DisplayAlerts = False
ErrFLAG = 4
EXF.Sheets.PrintOut
ErrFLAG = 5
ObjBook.Close False
EXF.Application.Quit
ErrFLAG = 6
Set ObjBook = Nothing
Set EXF = Nothing

ExcelPrint = sFilePath

Exit Function
ErrNanoda:
ObjBook.Close False
Set ObjBook = Nothing
Set EXF = Nothing
ExcelPrint = Err.Number & ":" & "<BR>" & Err.LastDllError & "<BR>" & Err.Description & "<BR>ErrFlag:" & ErrFLAG
End Function



TreeBBS For ASP V.0.1.3
Program By YasNet