如何在没有预览的情况下使用Unity直接打印照片或文本

我是团结的初学者,我想直接将图像打印到连接的默认打印机而无需预览。

我正在使用此代码进行打印,但它需要预览

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。 我从统一的assest存储中通过LSPrinter Simple解决了。

我通过使用Ls打印机解决

如果printerName为空或为null,它将打印到您的默认打印机。

目前,它适用于Windows。 每台打印机都应该工作

 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);