有一个web项目需要使用到DPOF格式的文件,
今天查阅相关资料,使用asp程序解决这个问题.
'建立DPOF文件函数
function CreateDPOF(mCode,mFilePath)
dim objFSO,objFile
dim filename
filename=mFilePath&"AUTPRINT.MRK"
set objFSO = server.CreateObject("Scripting.FileSystemObject")
set objFile = objFSO.CreateTextFile(filename,true)
objFile.WriteLine mCode
objFile.close
set objFile = nothing
set objFSO = nothing
end function
......
rs_folder.open sql,conn,1,1
while not rs_folder.eof
DPOF_str="[HDR]"&Chr(13) & Chr(10)&_
"GEN REV = 01.00"&Chr(13) & Chr(10)&_
"GEN CRT = ""NORITSU KOKI"" -01.00"&Chr(13) & Chr(10)&_
"GEN DTM = "&now()&""&Chr(13) & Chr(10)&_
"USR NAM = ""ENSHINE"""&Chr(13) & Chr(10)&_
"USR TEL = """","""",""86146900"""&Chr(13) & Chr(10)&_
"VUQ RGN = BGN"&Chr(13) & Chr(10)&_
"VUQ VNM = ""NORITSU KOKI"" -ATR ""QSSPrint"""&Chr(13) & Chr(10)&_
"VUQ VER = 01.00"&Chr(13) & Chr(10)&_
"PRT PSL = NML -PSIZE """&StrName&""""&Chr(13) & Chr(10)&_
"PRT PCH = 004"&Chr(13) & Chr(10)&_
"GEN INP = ""CD"""&Chr(13) & Chr(10)&_
"VUQ RGN = END"&Chr(13) & Chr(10)&Chr(13) & Chr(10)
......
rs_file.open sql,conn,1,1
i=1
while not rs_file.eof
call movefile(strFromDir&rs_file(0),IMAGE_FolderName)'AddFolderName
'response.Write strFromDir&rs_file(0)&"<br>-->"&AddFolderName
DPOF_str=DPOF_str&"[JOB]"&Chr(13) & Chr(10)&_
"PRT PID = "&formatNUM(i,3)&""&Chr(13) & Chr(10)&_
"PRT TYP = STD"&Chr(13) & Chr(10)&_
"PRT QTY = "&formatNUM(rs_folder(2),3)&""&Chr(13) & Chr(10)&_
"IMG FMT = EXIF2 -J"&Chr(13) & Chr(10)&_
"<IMG SRC = ""../IMAGE/"&rs_file(0)&""">"&Chr(13) & Chr(10)&_
"VUQ RGN = BGN"&Chr(13) & Chr(10)&_
"VUQ VNM = ""NORITSU KOKI"" -ATR ""QSSPrint"""&Chr(13) & Chr(10)&_
"VUQ VER = 01.00"&Chr(13) & Chr(10)&_
"PRT CVP1 = 1 -STR ""ENSHINE 0001s <"&rs_file(0)&"> /x0e/xc1/x0f AUX"""&Chr(13) & Chr(10)&_
"PRT CVP2 = 0"&Chr(13) & Chr(10)&_
"VUQ RGN = END"&Chr(13) & Chr(10)&Chr(13) & Chr(10)
rs_file.movenext
i=i+1
wend
rs_file.close
call CreateDPOF(DPOF_str,MISC_FolderName)
'response.Write sql&"<br>"
rs_folder.movenext
wend
......
/*
以下是有关DPOF标准的说明
(order/o0000068/MISC/AUTPRINT.MRK)
*/
[HDR]
GEN REV = 01.00 //DPOF的版本
GEN CRT = "NORITSU KOKI" -01.00 //生成DPOF文件的设备名称及型号
GEN DTM = 2006:09:19:17:32:54 //接收日期
USR NAM = "OPF" //用户名
USR TEL = "","","1236" //电话号码
VUQ RGN = BGN //标志开始
VUQ VNM = "NORITSU KOKI" -ATR "QSSPrint"
VUQ VER = 01.00 //版本
PRT PSL = NML -PSIZE "3R" //冲印大小
PRT PCH = 003 //通道设置
GEN INP = "CD" //输入媒介
VUQ RGN = END //标志结束
[JOB]
PRT PID = 001 //冲印序列
PRT TYP = STD //冲印类型
PRT QTY = 001 //冲印数量
IMG FMT = EXIF2 -J //图片格式
<IMG SRC = "../image/DCIM/102ND200/_KYT5484.JPG"> //图片路径
VUQ RGN = BGN //其它信息定义开始
VUQ VNM = "NORITSU KOKI" -ATR "QSSPrint" //冲印机器名称
VUQ VER = 01.00 //版本号
PRT CVP1 = 1 -STR "YUEN 0068 <_KYT5484.JPG> /x0e/xc1/x0f AUX" //背印信息
PRT CVP2 = 0
VUQ RGN = END //其它信息定义结束
说明:
DPOF命令是以文本文件的形式存储在数码相机的存储卡中的。通过PC我们可以看到,在任意一个比较新型的数码相机的存储卡根目录下,都会有一个名叫MISC的目录,DPOF信息就存储在这个目录里的一个叫“Autprint.mrk”的文件里。
DPOF是一个开放的标准,它支持以下一些打印输出设置:选择哪些照片要打印输出、每张照片打印的份数、打印索引图片、图像旋转、用户信息(姓名、地址等等)图像信息(标题、说明)等等。
记录在Autprint.mrk文件中的DPOF信息的样本。HRD段是数码相机品牌和型号的标识,JOB段则是具体的打印命令(它可以有很多段,每段描述一张照片的输出方式)。