using UnityEngine; using UnityEngine.UI;// using SFB; // StandaloneFileBrowser using System.Runtime.InteropServices; using UnityEngine.EventSystems; using UnityEditor; [RequireComponent(typeof(Button))] public class Save_PDF : MonoBehaviour, IPointerDownHandler { [DllImport("__Internal")] private static extern void SavePDFTOMOBILE(string filename, byte[] byteArray, int byteLenth); [DllImport("__Internal")] private static extern void SaveloadFile(string gameObjectName, string methodName, string filename, byte[] byteArray, int byteArraySize); #if UNITY_WEBGL && !UNITY_EDITOR // Broser plugin should be called in OnPointerDown. public void OnPointerDown(PointerEventData eventData) { _G.PDFname = GameObject.Find("InputPDFName").gameObject.GetComponent().text; var bytes = _G.PDF; SaveloadFile(gameObject.name, "OnFileDownload", _G.PDFname + ".pdf", bytes, bytes.Length); } // Called from browser public void OnFileDownload() { GameObject.Find("HIDER").transform.Find("EnterPDFName").transform.gameObject.SetActive(false); _M.PH(2, 0, "ffffff", 1, 1); GameObject.Find("PNL").transform.Find("PDFpnl").transform.gameObject.SetActive(false); } #else public void OnPointerDown(PointerEventData eventData) { } public void SaveLocal() { _G.PDFname = GameObject.Find("InputPDFName").GetComponent().text; var path = StandaloneFileBrowser.SaveFilePanel("Save as pdf", "", _G.PDFname, "pdf"); // var path = EditorUtility.SaveFilePanel("Save as pdf", "", _G.PDFname,"pdf"); if (!string.IsNullOrEmpty(path)) { System.IO.File.WriteAllBytes(path, _G.PDF); } _M.PH(2, 0, "ffffff", 1, 1); GameObject.Find("PNL").transform.Find("PDFpnl").transform.gameObject.SetActive(false); } #endif public void SavePDFMobile() { _G.PDFname = GameObject.Find("InputPDFName").gameObject.GetComponent().text; var bytes = _G.PDF; SavePDFTOMOBILE(_G.PDFname, bytes, bytes.Length); } }