您好:请问C# 如何用RDLC

1.如何作到 用标籤机印出的2.QRCODE 适用网站API作吗?

目前 我RDLC 产出PDF 预设8宽*5高,PDF 是一张标籤+一行横向字但用TSC TTP-245标籤机印出来却是印出两张标籤,一行字垂直 跨两张标籤谢谢

一般用WORD 印8*5,是OK的

4 个回答

  • 旧至新
  • 新至旧
  • 最高Like数

0

japhenchen

iT邦超人 1 级 ‧ 2024-10-25 07:19:19

最佳解答

WEB版的RDLC只能输出成HTML或PDF或WORD,这些软体或浏览器对标籤纸机控不灵光,除非你改输出成自己设定的专属档案格式,输出至你预先安装在客户端的电脑上的程式(用MimeType绑定),由该程式负责转印到标籤机,标籤输出必要的话预先宣告DeviceInfo避免设备输出尺寸不正确

        private string deviceInfo =
           @"<DeviceInfo>
                <OutputFormat>EMF</OutputFormat>
                <PageWidth>120mm</PageWidth>
                <PageHeight>65mm</PageHeight>
                <MarginTop>5mm</MarginTop>
                <MarginLeft>5mm</MarginLeft>
                <MarginRight>5mm</MarginRight>
                <MarginBottom>5mm</MarginBottom>
            </DeviceInfo>";

  • 9

看更多先前的...收起先前的...

japhenchen

iT邦超人 1 级 ‧
2024-10-25 07:36:50

noway
QRCODE你可以透过nuget安装GMA QRCODE套件

 private Bitmap generateQR(string codeString)
 {
     double logoAtQRRatio = 0.30;
     string logopath = Server.MapPath("/event/QRLOGO.png");
     Bitmap logo = new Bitmap(logopath);
     int logowidth = logo.Width;
     int logoheight = logo.Height;
     double logoRatio = logoheight / logowidth;
     /*
       Level L (Low)      7%  of codewords can be restored. 
       Level M (Medium)   15% of codewords can be restored. 
       Level Q (Quartile) 25% of codewords can be restored. 
       Level H (High)     30% of codewords can be restored. 
     */
     QrEncoder encoder = new QrEncoder(ErrorCorrectionLevel.Q);

     //编码
     QrCode code = encoder.Encode(codeString);

     //定义线条宽度
     int moduleSizeInPixels = 8;
     int topGap = 0;// moduleSizeInPixels * 3;

     //绘二维条码图初始化
     GraphicsRenderer renderer = new GraphicsRenderer(
         new FixedModuleSize(moduleSizeInPixels, QuietZoneModules.Two), Brushes.Black, Brushes.White);

     //留白区大小
     int paddinggap = moduleSizeInPixels;
     Point padding = new Point(paddinggap, topGap + paddinggap);

     //取得条码图大小
     DrawingSize dSize = renderer.SizeCalculator.GetSize(code.Matrix.Width);
     int imgWidth = dSize.CodeWidth + 2 * padding.X;
     int imgHeight = dSize.CodeWidth + 2 * padding.Y ;
     int shiftY = dSize.CodeWidth + 2 * padding.Y + 3;
     //设定影像大小
     float newlogoW = imgWidth;// (int)Math.Round((double)imgWidth * logoAtQRRatio);
     float newlogoH = (float)newlogoW * ((float)logoheight /logowidth);
     RectangleF rectLogo =
         new RectangleF(0, shiftY, newlogoW, newlogoH);
     Bitmap img = new Bitmap(imgWidth, imgHeight);
     //绘製二维条码图
     Graphics g = Graphics.FromImage(img);
     //g.FillRectangle(Brushes.Black, new Rectangle(0, 0, img.Width, img.Height));

     return img;
 }

修改

noway

iT邦研究生 1 级 ‧
2024-10-25 08:05:58

您好:
请问
1.您之前回覆于
https://ithelp.ithome.com.tw/questions/10204540?sc=pt
他是产生PDF档吗?

我看您,开发6.5×2.5cm ,您开发的版面很大,
但我开发,要缩到很小,(主体有设8*5 了),但一页仍会自动跳成2页

输出至你预先安装在客户端的电脑上的程式(用MimeType绑定),由该程式负责转印到标籤机

一般WEB 与 PC端的驱动及硬体不连通,所以之前都是转PDF印出报表
那您说的MimeType,是需要自己另外写程式在PC上,WEB 去呼叫 PC上的MimeType程式,由他印出吗?

谢谢

修改

japhenchen

iT邦超人 1 级 ‧
2024-10-25 08:16:41

会变成两页的问题大部份起因于你的设备可列印範围,比如A4,大部份的事务机都要留左右上下边界不可印满,边界宽度要看设备定义而定,大概都在8mm左右,那就是说A4最宽你只能设定到210-8*2 = 194mm,且你不能任由列印的字串长度超过这个範围,必要的话让字串不可自动延伸宽高,不然会有大麻烦

修改

noway

iT邦研究生 1 级 ‧
2024-10-25 16:47:26

japhenchen您好:
方便先请教一下,若用表格排版
我想要以qrcode 内容,当作KEY 分页,但又不想要先秀出来(因为想要另外再拉一个栏位 放qrcode 内容当作调码来源)

其他的栏位会跟着KEY 分页,
这要如何做呢?
谢谢

修改

noway

iT邦研究生 1 级 ‧
2024-10-28 08:54:36

japhenchen您好:
另外 您==>QRCODE你可以透过nuget安装GMA QRCODE套件
这是在C# 吗?
不是 RDLC 报表产生?
谢谢

修改

noway

iT邦研究生 1 级 ‧
2024-10-29 15:57:35

japhenchen您好:
目前 我是用年代久远的套装软体
RELC 是用软体的精灵跑出,不知从哪 作CODE
且目前只零星几个报表,都是直接抓DB的栏位呈现

修改

noway

iT邦研究生 1 级 ‧
2024-10-30 08:43:18

japhenchen 您好

目前不清出要如何将图档(多张不同序号) 传给rdlc,因为使用套装软体,RDLC 包在内;
目前由前端JS传参数到 C#后端,C# 透过PROCEDURE取得SQL 资料 (dataSet)传给 RDLC,RDLC 呈现资料

所以找不到地方传递方式
谢谢

修改

japhenchen

iT邦超人 1 级 ‧
2024-11-01 08:23:28

RDLC可以接收由程式发送过来的DATASOURCE,DATASOURCE里就可以嵌入QRCODE所产生的IMAGE BYTE[],在RDLC设计画面里就把IMAGE指向该栏位即可

修改

noway

iT邦研究生 1 级 ‧
2024-11-01 13:27:01

japhenchen您好:
谢谢您
目前是有先参考 ThoughtWorks.QRCode.Codec;
但这好像没有 图片大小
且目前遇到 电脑上的PDF 可以用扫描枪扫出
但印出标籤却 无法扫...

修改

0

pilipala

iT邦研究生 5 级 ‧ 2024-10-25 08:23:33

重新跑看看标籤机纸张侦测,提供相片感觉一次出两张纸,也许不见得是 RDLC 报表问题

0

souda

iT邦高手 1 级 ‧ 2024-10-27 20:35:51

1.如何作到 用标籤机印出的
=>请别使用报表请查看每台标籤机sdk都是用epson command
2.QRCODE 适用网站API作吗?
=>使用标籤机直接使用epson command .
=>不使用epson command 自己写qrcode图档再传给rdlc显示.

以上请参考喽!

0

wilson1966

iT邦研究生 1 级 ‧ 2024-11-04 11:47:05

*已删除