hDC转PostScript转PDF
来源:互联网 发布:2017淘宝补单 编辑:程序博客网 时间:2024/06/06 03:49
软件:
PDFCreater 或 PrimoPDF 或 BullZip PDF Printer 等PDF打印机软件.
GhostScript 9.10
hDC转PS:
1. 使用打印机名创建hDC.
2. StartDoc()时,设定PS文件路径名.
PS转PDF:
调用GhostScript的ps2pdf.bat. 注意: 调用时可能会提示找不到"gswin32c.exe".把它所在路径放到path里即可.
例子代码:
void hDC2PDF_Demo( const CString& strPSFileName = _T("c:\\PostScript.ps"), const CString& strPDFFileName= _T("c:\\PostScript.pdf"), const CString& strPrinterName= _T("PrimoPDF"), // 打印机名字,来自"控制面板/打印机和传真 const CString& strHelloWorld = _T("Hello world!!!") ){/// 1. hDC -> PostScript/// 1.1. 使用打印机名创建hDC.HDC hDC = ::CreateDC(NULL, strPrinterName, NULL,NULL);/// 1.2. StartDoc()时,设定PS文件路径名.DOCINFO DocInfo={0};DocInfo.cbSize = sizeof(DOCINFO);DocInfo.lpszOutput = strPSFileName;::StartDoc(hDC, &DocInfo);::StartPage(hDC);TextOut( hDC, 200, 200, strHelloWorld, strHelloWorld.GetLength() );::EndPage(hDC);::EndDoc(hDC);::DeleteDC(hDC);/// 2. PostScript -> PDFCString strParameters;strParameters.Format(_T("-q -P- -dSAFER -dNOPAUSE -dBATCH -sDEVICE=pdfwrite -sOutputFile=%s -dCompatibilityLevel=1.4 -c .setpdfwrite -f%s "), strPDFFileName, strPSFileName );SHELLEXECUTEINFO ShExecInfo = {0};ShExecInfo.cbSize = sizeof(SHELLEXECUTEINFO);ShExecInfo.fMask = SEE_MASK_NOCLOSEPROCESS;ShExecInfo.hwnd = NULL;ShExecInfo.lpVerb = NULL;ShExecInfo.lpFile = _T("gswin32c.exe");ShExecInfo.lpParameters = strParameters;ShExecInfo.nShow = SW_HIDE;ShExecInfo.hInstApp = NULL;ShellExecuteEx(&ShExecInfo);WaitForSingleObject(ShExecInfo.hProcess,INFINITE);}
0 0
- hDC转PostScript转PDF
- PDFCreator——ps(postscript)转pdf
- HDC(转)
- HTML转PDF之HTML内容解析和PostScript的生成
- hDC 转 HWD
- CDC、HDC、pDC (转)
- PostScript文件(.ps)转化为PDF
- [转]HDC,CDC,CWindowDC,CClientDC,CPaintDC基础
- HDC
- HDC,CDC,CClientDC的区别和联系是什么? (转)
- [转]delphi中的HWnd,THandle,HDC有什么区别
- 【转】如何从HDC中获取位图信息
- 关于postscript
- PostScript文件
- 【转】MFC的运行机制 以及 MFC中的DC、CDC、HDC、句柄、设备上下文(整理)
- iText生成pdf(图片转PDF)
- HTML转PDF+水印以及PDF+水印
- java实现pdf转图片pdf
- 只读字段的写入
- Python Supervisord 进程管理工具
- iOS-实现文件上传下载
- IMX179 UPSCALE
- 信息的展开、收缩
- hDC转PostScript转PDF
- GEM《我是歌手2》爆红幕后功臣
- mac系统如何显示和隐藏文件
- 检查点未完成或者归档未完成
- xml转换操作类
- 2013年Linux的三大趋势
- Android Studio更新升级方法
- LINUX监视重复进程数量
- JSDoc3的简单使用