社区
C++ Builder
帖子详情
关于tprinter的问题
xhusa
2002-08-19 04:23:07
我现在在做一个打印程序,问题是如何连续打印的问题,
我的纸张尺寸为(单位0.1毫米)3000x1275
我是用Tprinter对象进行直接画布打印
如何才能实现连续打印,希望提供源代码并且要有注释!
...全文
33
5
打赏
收藏
关于tprinter的问题
我现在在做一个打印程序,问题是如何连续打印的问题, 我的纸张尺寸为(单位0.1毫米)3000x1275 我是用Tprinter对象进行直接画布打印 如何才能实现连续打印,希望提供源代码并且要有注释!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
warton
2002-12-08
打赏
举报
回复
RedProgramer(TST : RedSteel) 说的对!
xhusa
2002-12-08
打赏
举报
回复
up
zxl777
2002-12-08
打赏
举报
回复
up
chely3yang
2002-12-08
打赏
举报
回复
建立一个循环,在循环末尾用 Printer()->NewPage();
在打印对话框里设置纸张大小等等参数,然后
//获取当前打印机页面参数
pagewidth=Printer()->PageWidth;
pageheight=Printer()->PageHeight;
pixelperinchx=GetDeviceCaps(Printer()->canvas->Handle,LOGPIXELSX);
pixelperinchy=GetDeviceCaps(Printer()->canvas->Handle,LOGPIXELSY);
//获取字高和字宽参数
Printer()->canvas->Font->PixelsPerInch=pixelperinchy;//这行是要点!
Printer()->canvas->Font->Name="宋体";
canvas->Font->Size=18;
fontheight=Printer()->canvas->TextHeight("人");
fontwidth=Printer()->canvas->TextWidth("A");
captionheight=2*fontheight;
上述参数均以打印机象素为单位,
后面的换行,行宽均用相对值表示:如设行宽=2*fontheight,行距=fontheight
打印的精华全在此了.
RedProgramer
2002-08-19
打赏
举报
回复
是不是你直接设置打印纸的尺寸就可以了;
void SetPrinterPaperSize(int PaperLength, int PaperWidth)
{
TPrinter * Prntr =Printer();
char *ADevice,*ADriver,*APort;
ADevice=new char[100];
ADriver=new char[100];
APort=new char[100];
THandle DeviceHandle;
PDeviceMode DevMode;
Prntr->GetPrinter(ADevice,ADriver,APort,DeviceHandle);
DevMode=(_devicemodeA*)GlobalLock((void*)DeviceHandle);
DevMode->dmFields=DevMode->dmFields|DM_PAPERSIZE;
DevMode->dmFields=DevMode->dmFields|DM_PAPERLENGTH;
DevMode->dmFields=DevMode->dmFields|DM_PAPERWIDTH;
//
DevMode->dmPaperSize=DMPAPER_USER;
DevMode->dmPaperLength=PaperLength*10;
DevMode->dmPaperWidth=PaperWidth*10;
int s=1;
for(int i=0;s!=0||i<5;i++)
s=GlobalUnlock((void*)DeviceHandle);
Prntr->SetPrinter(ADevice,ADriver,APort,DeviceHandle);
}
PDF In-the-Box 破解版
利用
TPr
inte
r类来制作Pdf
C++ Builder实现调用打印机打印图片
C++ Builder实现调用打印机打印图片
创建PDF文档
用它创建PDF文档不使用任何DLL和其他第三方软件。llPDFLib包括TPDFDocument组件并带有属性和方法,使用方式类似Delphi的
TPr
inte
r。已解决"安装编译时Link时候出错,提示qrpt60.lib打不开"
问题
。Can't open file "qrpt60.lib"
LlPDFLib.v2.1.Full.Sources.For.Delphi.BCB
llPDFLib is pure Object Pascal library for create PDF documents. This library doesn‘t use any DLL or external third-party software to generate PDF files. Library includes PDFDocument component with properties and methods like Delphi‘s
TPr
inte
r but designed to generate a PDF file.
llPDFLib.v3.6.Full.Source.Delphi.BCB.BDS
delphi 创建pdf组件: llPDFLib is pure Object Pascal library to create PDF documents. This library doesn't use any DLL or external third-party software to generate PDF files. Library includes TPDFDocument component with properties and methods like Delphi's
TPr
inte
r but is designed to generate a PDF file.
C++ Builder
13,826
社区成员
102,678
社区内容
发帖
与我相关
我的任务
C++ Builder
C++ Builder相关内容讨论区
复制链接
扫一扫
分享
社区描述
C++ Builder相关内容讨论区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章