如何在没有预览的情况下使用 Unity 直接打印照片或文本 [英] How to direct printing of photo or text using Unity without preview
问题描述
我是 unity 的初学者,我想直接将图像打印到连接的默认打印机而无需预览.
I am the beginner on unity, I want to print an image directly to connected default printer without preview.
我正在使用此代码进行打印,但需要预览
I am using this code for print but it takes the preview
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PrintImage : MonoBehaviour
{
public void PrintFile()
{
PrintFiles();
}
void PrintFiles(string path=null)
{
path = "file:///C:/Users/ersai/Desktop/2.jpg";
System.Diagnostics.Process process = new System.Diagnostics.Process();
process.StartInfo.CreateNoWindow = false;
process.StartInfo.WindowStyle = System.Diagnostics.ProcessWindowStyle.Hidden;
process.StartInfo.UseShellExecute = true;
process.StartInfo.FileName = path;
process.StartInfo.Verb = "print";
process.Start();
}
}
这不是重复的,因为这不是一个窗口标签问题,我问的是关于 C# unity 的问题,标记重复的问题不适用于 C# Unity.我通过 LSPrinter Simple 从 Unity 的资产商店解决了.
That's was not duplicate because this was not a window tag question I am asking about C# unity the question which tagged duplicate was not working with C# Unity. I am solved by LSPrinter Simple from assest store of unity.
推荐答案
我使用 Ls 打印机
如果printerName 为空或null,它将打印到您的默认打印机.
If printerName is empty or null, it will print to your default printer.
目前,它适用于 Windows.每台打印机都应该工作.
Currently, it works on Windows. Every printer should work.
using UnityEngine;
using System.Collections;
using System.Diagnostics;
using System;
using System.IO;
using LCPrinter;
using UnityEngine.UI;
public class LCExampleScript : MonoBehaviour {
public Texture2D texture2D;
public string printerName = "";
public int copies = 1;
public InputField inputField;
public void printSmileButton()
{
//print the texture2d using on
// Print.PrintTexture(texture2D.EncodeToPNG(), copies, printerName);*
Print.PrintTexture(texture2D.EncodeToPNG(), copies, printerName);
}
public void printByPathButton()
{
//direct path which fill in inputfield
Print.PrintTextureByPath(inputField.text.Trim(), copies, printerName);
}
}
需要一个小的预览
System.Diagnostics.Process.Start("mspaint.exe", "/pt Assets\Resources\"+files);
这篇关于如何在没有预览的情况下使用 Unity 直接打印照片或文本的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!