如何打印清晰的二维码字体?

lakeblue 2021-04-15 10:06:44
各位好:

目前我们用VFP打印出来的字体,不够清晰,而用标签打印机自带软件打印的字体清晰,格式与我的不同。

因为是打小标签,VFP控制打印的扫不出来,而相同大小标签打印机自带软件的很容易识别



如何才能用VFP控制,打印出如图左边的二维码格式? (右边是VFP控制打印的,小标签不清晰)

多谢大侠帮忙!

...全文
1996 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
love2008cn 2021-12-26
  • 打赏
  • 举报
回复

你打印定位标识没打全,就是那3个方框没打完整,所以扫不出来

lakeblue 2021-05-25
  • 打赏
  • 举报
回复
有高手看到吗?
lakeblue 2021-05-12
  • 打赏
  • 举报
回复
高手在吗?

能不能用VFP 打印出 9楼的 这种 二维码 ,清晰的格式 ?
lakeblue 2021-05-06
  • 打赏
  • 举报
回复
vfp 没有办法控制吗 ?
sych11 2021-04-30
  • 打赏
  • 举报
回复
,从图像的密集度上就可以看出来差别
lakeblue 2021-04-28
  • 打赏
  • 举报
回复
可能因为不懂,所以描叙不清,也许不是降低纠错,而是不同二维码的版本 需要左边的格式,我目前打印出的是右边的
trainee 2021-04-27
  • 打赏
  • 举报
回复
写那么多,真是浪费。 也没有什么“降低纠错等级”,“降低纠错等级”是指扫描枪,这你能控制得了吗? 你唯一要做的是提高分辨率,图形不变形 核心语句很简单:
&& 声明
DECLARE INTEGER GenerateFile IN BarCodeLibrary.DLL ;
      STRING cData, STRING cFileName

DECLARE INTEGER SetConfiguration IN BarCodeLibrary.DLL ;
      INTEGER nSize, INTEGER nImageType

&& 调用
SetConfiguratio(尺寸号, 图片类型号)     && 设置图片参数:  尺寸号 12分辨率最大,默认为4,图片类型号:0-bmp 1-jpg 2-png
GenerateFile('数据字符串','输出图片文件名')   && 根据字符串 生成 二维码图片
如果你要打印 : IMAGE控件 stretch 参数设为0--clip(不调整大小) SetConfiguratio(12,0) 这样生成的图片分辨率最高,没有压缩
lakeblue 2021-04-26
  • 打赏
  • 举报
回复
比如这段 : (或者能不能给我演示一个最简单的例子?) ------------------------------------------------------------------------------------- SET PROCEDURE TO LOCFILE("FoxBarcodeQR.prg") ADDITIVE *--- Create FoxBarcodeQR object and QR Code barcode image LOCAL loFbc, lcQRImage m.loFbc = CREATEOBJECT("FoxBarcodeQR") m.lcQRImage = m.loFbc.QRBarcodeImage("https://github.com/VFPX/FoxBarcode", , 6, 2) *-- Create form LOCAL loForm AS FORM m.loForm = CREATEOBJECT("Form") WITH m.loForm .CAPTION = "FoxBarcodeQR example form" .WIDTH = 400 .HEIGHT = 400 .BACKCOLOR = RGB(255,255,255) .AUTOCENTER = .T. .ADDOBJECT("Image1", "Image") WITH .Image1 .PICTURE = m.lcQRImage .TOP = 20 .LEFT = 20 .VISIBLE = .T. ENDWITH .SHOW(1) ENDWITH m.loForm = NULL m.loFbc = NULL ------------------------------- -------------------------------- *-------------------------------------------------------------------------------------- * FoxBarcodeQR.prg *-------------------------------------------------------------------------------------- * FoxBarcodeQR is a application free software and offers a Barcode tool for the Visual * FoxPro Community. This is a supplement of FoxBarcode class only for QR Code barcodes. * This software is provided "as is" without express or implied warranty. * Use it at your own risk *-------------------------------------------------------------------------------------- * Version: 1.17 * Date : 2016.12.21 * Author : VFPEncoding * Email : vfpencoding@gmail.com * * Note : VFPEncoding are * Guillermo Carrero (QEPD) (Barcelona, Spain) and * Luis Maria Guayan (Tucuman, Argentina) *-------------------------------------------------------------------------------------- * Note : This application use the free library BarCodeLibrary.DLL * of Dario Alvarez Aranda (Mexico) *-------------------------------------------------------------------------------------- *-------------------------------------------------------------------------------------- * FoxBarcodeQR Class Definition *-------------------------------------------------------------------------------------- DEFINE CLASS FoxBarcodeQR AS CUSTOM m.cTempPath = "" && Windows Temp folder + SYS(2015) m.cAppPath = "" && App folder m.lDeleteTempFiles = .T. && Delete the temporary folder and image files *--------------------------------------------------------- * PROCEDURE QRBarcodeImage() *--------------------------------------------------------- * Generated QR Barcode image with BarCodeLibrary.DLL * Parameters: * tcText: Text to encode * tcFile: Imagen File Name (optional) * tnSize: Imagen Size [2..12] (default = 4) * 2 = 66 x 66 (in pixels) * 3 = 99 x 99 * 4 = 132 x 132 * 5 = 165 x 165 * 6 = 198 x 198 * 7 = 231 x 231 * 8 = 264 x 264 * 9 = 297 x 297 * 10 = 330 x 330 * 11 = 363 x 363 * 12 = 396 x 396 * tnType: Imagen Type [BMP, JPG or PNG] (default = 0) * 0 = BMP * 1 = JPG * 2 = PNG *--------------------------------------------------------- PROCEDURE QRBarcodeImage(tcText, tcFile, tnSize, tnType) LOCAL lcType, lcFolder IF VARTYPE(m.tnSize) <> "N" m.tnSize = 4 && default size: 132 x 132 pixels ENDIF IF VARTYPE(m.tnType) <> "N" m.tnType = 0 && defaul type: BMP ENDIF m.tnSize = MIN(MAX(m.tnSize, 2), 12) m.tnType = MIN(MAX(m.tnType, 0), 2) m.lcType = IIF(m.tnType = 1, "JPG", IIF(m.tnType = 2, "PNG", "BMP")) IF EMPTY(m.tcFile) m.lcFolder = THIS.cTempPath IF NOT DIRECTORY(m.lcFolder) MD (m.lcFolder) ENDIF m.tcFile = FORCEEXT(m.lcFolder + SYS(2015), m.lcType) ELSE m.lcFolder = JUSTPATH(m.tcFile) IF NOT DIRECTORY(m.lcFolder) MD (m.lcFolder) ENDIF m.tcFile = FORCEEXT(m.tcFile, m.lcType) ENDIF *- Declare the functions of BarCodeLibrary.dll DECLARE INTEGER GenerateFile IN BarCodeLibrary.DLL ; STRING cData, STRING cFileName DECLARE INTEGER SetConfiguration IN BarCodeLibrary.DLL ; INTEGER nSize, INTEGER nImageType SetConfiguration(m.tnSize, m.tnType) GenerateFile(m.tcText, m.tcFile) CLEAR DLLS SetConfiguration, GenerateFile RETURN m.tcFile ENDPROC *------------------------------------------------------ * PROCEDURE Init() *------------------------------------------------------ PROCEDURE INIT() THIS.cTempPath = ADDBS(THIS.TempPath() + SYS(2015)) THIS.cAppPath = FULLPATH("") ENDPROC *------------------------------------------------------ * PROCEDURE Destroy() *------------------------------------------------------ PROCEDURE DESTROY() IF THIS.lDeleteTempFiles THIS.EmptyFolder(THIS.cTempPath) IF DIRECTORY(THIS.cTempPath) RD (THIS.cTempPath) ENDIF ENDIF ENDPROC *------------------------------------------------------ * PROCEDURE EmptyFolder(tcFolder) *------------------------------------------------------ * Empty temporary image folder *------------------------------------------------------ PROCEDURE EmptyFolder(tcFolder) LOCAL loFso AS OBJECT LOCAL lcMask DO CASE CASE EMPTY(m.tcFolder) RETURN .F. CASE NOT DIRECTORY(m.tcFolder) RETURN .F. ENDCASE m.lcMask = ADDBS(m.tcFolder) + "*.*" #IF .T. && Use FSO m.loFso = CREATEOBJECT("Scripting.FileSystemObject") m.loFso.DeleteFile(m.lcMask, .T.) #ELSE && Not Use FSO ERASE (m.lcMask) #ENDIF RETURN .T. ENDPROC *--------------------------------------------------------- * PROCEDURE TempPath() *--------------------------------------------------------- * Returns the path for temporary files *--------------------------------------------------------- PROCEDURE TempPath() LOCAL lcPath, lnRet LOCAL lnSize m.lcPath = SPACE(255) m.lnSize = 255 DECLARE INTEGER GetTempPath IN WIN32API ; INTEGER nBufSize, ; STRING @cPathName m.lnRet = GetTempPath(m.lnSize, @m.lcPath) IF m.lnRet <= 0 m.lcPath = ADDBS(FULLPATH("TEMP")) ELSE m.lcPath = ADDBS(SUBSTR(m.lcPath, 1, m.lnRet)) ENDIF RETURN m.lcPath ENDPROC *--------------------------------------------------------- * PROCEDURE Error *--------------------------------------------------------- * Error procedure *--------------------------------------------------------- PROCEDURE ERROR LPARAMETERS nError, cMethod, nLine LOCAL lcErrMsg LOCAL la[1] AERROR(la) m.lcErrMsg = "Error number: " + TRANSFORM(m.la(1, 1)) + CHR(13) + ; "Error message: " + m.la(1, 2) + CHR(13) + CHR(13) + ; "Method: " + m.cMethod + CHR(13) + ; "Line: " + TRANSFORM(m.nLine) MESSAGEBOX(m.lcErrMsg, 0 + 16, "FoxBarcodeQR error") ENDPROC *--------------------------------------------------------- ENDDEFINE && FoxBarcodeQR *-------------------------------------------------------------------------------------- * END DEFINE FoxBarcodeQR Class *--------------------------------------------------------------------------------------
sych11 2021-04-21
  • 打赏
  • 举报
回复
代码发出来,我帮你改
sych11 2021-04-20
  • 打赏
  • 举报
回复
还有你用vfp生成打印的是残缺不全的二维码,所以无法识别
sych11 2021-04-20
  • 打赏
  • 举报
回复
降低纠错等级
lakeblue 2021-04-20
  • 打赏
  • 举报
回复
各位好 : vfp打印出来的用手机微信或支付宝,都是可以扫出来的。 但对于扫码枪,可能是扫码枪不够分辨率,可是客户端我们是没有办法的 如何降低纠错等级? vfp控制 读取字符串,打印出来,我没有办法控制分辨率的。
trainee 2021-04-17
  • 打赏
  • 举报
回复
我知道有条形码字体,不知道还有二维码字体? 那二维码是个图形,如果打印出来不清晰,可能是把图片放大了 打印机的dpi都超过300,屏幕的dpi是96,在屏幕上看起来很大的图形,打印起来都会变小,如果强行放大,就会变模糊。一模糊就扫不出来。 所以解决的方法,选择点数比较多的图形,且不要有放大操作。

2,749

社区成员

发帖
与我相关
我的任务
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧