Unity 调用打印机遇到的坑

仅供个人学习

1.通用打印

System.Diagnostics.Process.Start("mspaint.exe", "/pt d:\\screenshots\\sample.jpg");

//"mspaint.exe"表示画板程序。

//"d:\\screenshots\\sample.jpg"表示图片的绝对路径。

注意这里是调用本机的画图程序

所以unity打印的图片如果是1080*1920的话就会出现一些问题 。如下图

2.这时候就要考虑一下其他方法,我这里是找了个插件(LCPrint)。

Print.PrintTexture(texture2D.EncodeToPNG(), 1, “”);// 打印的图片,拷贝次数,图片名

Print.PrintTextureByPath("D:\\pic.png", 1, “”);//打印指定路径的图片 ,拷贝次数,图片名

用这个方法的话,打印的照片尺寸要跟打印机的匹配,如果不匹配会报错:

paper size of pinter driver and indribbon type do not match.

品特驱动器的纸张尺寸与印带式不匹配

3.使用win自带软件

该方法出自https://blog.csdn.net/qq_42855293/article/details/81981308

 public void MyPrint()
    {
        string path = Application.dataPath + @"\Textures\002.png,0,0,750,400";//图片路径 + 将图像调整为750×400点(计算:750mm/28.346 px/cm=529点,400mm/28.346 pm/cm=352点)
        string exepath = Application.streamingAssetsPath + @"\PrintImage.exe";//这个是需要下载的应用直接放到电脑上就行(调用打印机打印图片应用的路径)
        ProcessStartInfo info = new ProcessStartInfo(exepath);//指定启动进程时使用的一组值
        info.Arguments = path;//获取或设置启动应用程序时要使用的一组命令行自变量
        using (Process p=new Process())
        {
            p.StartInfo = info;
            p.Start();
        }
    }

 

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

橘长长长

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值