public bool SaveDocHtml(PsStream _stream, PdfHtmlParams _params, PdfCancelProc _cancel_proc, IntPtr _cancel_data) { CheckBaseObj(); PdfHtmlParamsInt _paramsInt = _params.GetIntStruct(); IntPtr _params_ptr = Marshal.AllocHGlobal(Marshal.SizeOf(typeof(PdfHtmlParamsInt))); Marshal.StructureToPtr(_paramsInt, _params_ptr, true); byte ret = PdfHtmlDocSaveDocHtml(m_obj, _stream == null ? IntPtr.Zero : _stream.m_obj, _params_ptr, _cancel_proc, _cancel_data); Marshal.FreeHGlobal(_params_ptr); _params_ptr = IntPtr.Zero; return(ret != 0); }
public static void Run( String email, // authorization email String licenseKey, // authorization license key String openPath, // source PDF document String savePath, // output PDF document String configPath // configuration file ) { Pdfix pdfix = new Pdfix(); if (pdfix == null) { throw new Exception("Pdfix initialization fail"); } if (!pdfix.Authorize(email, licenseKey)) { throw new Exception(pdfix.GetError()); } PdfDoc doc = pdfix.OpenDoc(openPath, ""); if (doc == null) { throw new Exception(pdfix.GetError()); } PsFileStream stm = pdfix.CreateFileStream(configPath, PsFileMode.kPsReadOnly); if (stm != null) { PdfDocTemplate docTmpl = doc.GetDocTemplate(); if (docTmpl == null) { throw new Exception(pdfix.GetError()); } docTmpl.LoadFromStream(stm, PsDataFormat.kDataFormatJson); stm.Destroy(); } // define a cancel progress callback PdfCancelProc cancel_callback = (data) => { // to cancel the process return 1 Console.WriteLine("PdfCancelProc callback was called"); return(0); }; PdfPage page = doc.AcquirePage(0); PdePageMap pageMap = page.AcquirePageMap(null, IntPtr.Zero); // define an event callback PdfEventProc event_callback = (data) => { Console.WriteLine("Page contents did change. Releasing pageMap..."); if (pageMap != null) { pageMap.Release(); pageMap = null; } }; if (!pdfix.RegisterEvent(PdfEventType.kEventPageContentsDidChange, event_callback, IntPtr.Zero)) { throw new Exception(pdfix.GetError()); } if (!doc.AddTags(cancel_callback, IntPtr.Zero)) { throw new Exception(pdfix.GetError()); } if (!doc.Save(savePath, PdfSaveFlags.kSaveFull)) { throw new Exception(pdfix.GetError()); } doc.Close(); pdfix.Destroy(); }
internal static byte PdfHtmlDocSavePageHtml(IntPtr obj, IntPtr _stream, IntPtr _params, int _page_num, [MarshalAs(UnmanagedType.FunctionPtr)] PdfCancelProc _cancel_proc, IntPtr _cancel_data) { if (Util.Is64BitProcess()) { return(PdfHtmlDocSavePageHtml64(obj, _stream, _params, _page_num, _cancel_proc, _cancel_data)); } else { return(PdfHtmlDocSavePageHtml32(obj, _stream, _params, _page_num, _cancel_proc, _cancel_data)); } }
internal static extern byte PdfHtmlDocSavePageHtml64(IntPtr obj, IntPtr _stream, IntPtr _params, int _page_num, [MarshalAs(UnmanagedType.FunctionPtr)] PdfCancelProc _cancel_proc, IntPtr _cancel_data);
internal static byte PdfHtmlDocSave(IntPtr obj, string _path, IntPtr _params, [MarshalAs(UnmanagedType.FunctionPtr)] PdfCancelProc _cancel_proc, IntPtr _cancel_data) { if (Util.Is64BitProcess()) { return(PdfHtmlDocSave64(obj, _path, _params, _cancel_proc, _cancel_data)); } else { return(PdfHtmlDocSave32(obj, _path, _params, _cancel_proc, _cancel_data)); } }
internal static extern byte PdfHtmlDocSave64(IntPtr obj, string _path, IntPtr _params, [MarshalAs(UnmanagedType.FunctionPtr)] PdfCancelProc _cancel_proc, IntPtr _cancel_data);
internal static byte TesseractDocOcrImageToPage(IntPtr obj, IntPtr _image, IntPtr _matrix, IntPtr _page, [MarshalAs(UnmanagedType.FunctionPtr)] PdfCancelProc _cancel_proc, IntPtr _cancel_data) { if (Util.Is64BitProcess()) { return(TesseractDocOcrImageToPage64(obj, _image, _matrix, _page, _cancel_proc, _cancel_data)); } else { return(TesseractDocOcrImageToPage32(obj, _image, _matrix, _page, _cancel_proc, _cancel_data)); } }
internal static extern byte TesseractDocOcrImageToPage64(IntPtr obj, IntPtr _image, IntPtr _matrix, IntPtr _page, [MarshalAs(UnmanagedType.FunctionPtr)] PdfCancelProc _cancel_proc, IntPtr _cancel_data);
public bool OcrImageToPage(PsImage _image, PdfMatrix _matrix, PdfPage _page, PdfCancelProc _cancel_proc, IntPtr _cancel_data) { CheckBaseObj(); PdfMatrixInt _matrixInt = _matrix.GetIntStruct(); IntPtr _matrix_ptr = Marshal.AllocHGlobal(Marshal.SizeOf(typeof(PdfMatrixInt))); Marshal.StructureToPtr(_matrixInt, _matrix_ptr, true); byte ret = TesseractDocOcrImageToPage(m_obj, _image == null ? IntPtr.Zero : _image.m_obj, _matrix_ptr, _page == null ? IntPtr.Zero : _page.m_obj, _cancel_proc, _cancel_data); Marshal.FreeHGlobal(_matrix_ptr); _matrix_ptr = IntPtr.Zero; return(ret != 0); }