public bool SavePageHtml(PsStream _stream, PdfHtmlParams _params, int _page_num, 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 = PdfHtmlDocSavePageHtml(m_obj, _stream == null ? IntPtr.Zero : _stream.m_obj, _params_ptr, _page_num, _cancel_proc, _cancel_data); Marshal.FreeHGlobal(_params_ptr); _params_ptr = IntPtr.Zero; return(ret != 0); }
public bool Save(string _path, 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 = PdfHtmlDocSave(m_obj, _path, _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 PdfHtmlParams htmlParams // html conversion params ) { Pdfix pdfix = new Pdfix(); if (pdfix == null) { throw new Exception("Pdfix initialization fail"); } if (!pdfix.Authorize(email, licenseKey)) { throw new Exception(pdfix.GetError()); } PdfToHtml pdfToHtml = new PdfToHtml(); if (pdfToHtml == null) { throw new Exception("PdfToHtml initialization fail"); } if (!pdfToHtml.Initialize(pdfix)) { throw new Exception(pdfix.GetError()); } PdfDoc doc = pdfix.OpenDoc(openPath, ""); if (doc == null) { throw new Exception(pdfix.GetError()); } // customize conversion PsFileStream stm = pdfix.CreateFileStream(configPath, PsFileMode.kPsReadOnly); if (stm != null) { PdfDocTemplate docTmpl = doc.GetDocTemplate(); if (docTmpl == null) { throw new Exception(pdfix.GetError()); } if (!docTmpl.LoadFromStream(stm, PsDataFormat.kDataFormatJson)) { throw new Exception(pdfix.GetError()); } stm.Destroy(); } // set html conversion params //htmlParams.type = PdfHtmlType.kPdfHtmlResponsive; //htmlParams.width = 1200; //htmlParams.flags |= PdfToHtml.kHtmlExportJavaScripts; //htmlParams.flags |= PdfToHtml.kHtmlExportFonts; //htmlParams.flags |= PdfToHtml.kHtmlRetainFontSize; //htmlParams.flags |= PdfToHtml.kHtmlRetainTextColor; htmlParams.flags |= PdfToHtml.kHtmlNoExternalCSS | PdfToHtml.kHtmlNoExternalJS | PdfToHtml.kHtmlNoExternalIMG | PdfToHtml.kHtmlNoExternalFONT; PdfHtmlDoc htmlDoc = pdfToHtml.OpenHtmlDoc(doc); if (htmlDoc == null) { throw new Exception(pdfix.GetError()); } if (!htmlDoc.Save(savePath, htmlParams, null, IntPtr.Zero)) { throw new Exception(pdfix.GetError()); } htmlDoc.Close(); doc.Close(); pdfToHtml.Destroy(); pdfix.Destroy(); }
public static void Run( String openPath, // source PDF document String savePath, // output PDF document String configPath, // configuration file PdfHtmlParams htmlParams // html conversion params ) { Pdfix pdfix = PdfixEngine.Instance; PdfDoc doc = pdfix.OpenDoc(openPath, ""); if (doc == null) { throw new Exception(pdfix.GetError()); } var html_conv = doc.CreateHtmlConversion(); if (html_conv == null) { throw new Exception(pdfix.GetError()); } // customize conversion PsFileStream stm = pdfix.CreateFileStream(configPath, PsFileMode.kPsReadOnly); if (stm != null) { var doc_prelight = doc.GetTemplate(); if (doc_prelight == null) { throw new Exception(pdfix.GetError()); } if (!doc_prelight.LoadFromStream(stm, PsDataFormat.kDataFormatJson)) { throw new Exception(pdfix.GetError()); } stm.Destroy(); } // set html conversion params //htmlParams.type = PdfHtmlType.kPdfHtmlResponsive; //htmlParams.width = 1200; //htmlParams.flags |= Pdfix.kHtmlExportJavaScripts; //htmlParams.flags |= Pdfix.kHtmlExportFonts; //htmlParams.flags |= Pdfix.kHtmlRetainFontSize; //htmlParams.flags |= Pdfix.kHtmlRetainTextColor; htmlParams.flags |= Pdfix.kHtmlNoExternalCSS | Pdfix.kHtmlNoExternalJS | Pdfix.kHtmlNoExternalIMG | Pdfix.kHtmlNoExternalFONT; htmlParams.image_params.format = PdfImageFormat.kImageFormatJpg; if (!html_conv.SetParams(htmlParams)) { throw new Exception(pdfix.GetError()); } if (!html_conv.Save(savePath, null, IntPtr.Zero)) { throw new Exception(pdfix.GetError()); } html_conv.Destroy(); doc.Close(); }
public static void Run( String openPath, // source PDF document String configPath, // configuration file PdfHtmlParams htmlParams // html conversion params ) { Pdfix pdfix = PdfixEngine.Instance; PdfDoc doc = pdfix.OpenDoc(openPath, ""); if (doc == null) { throw new Exception(pdfix.GetError()); } var html_conv = doc.CreateHtmlConversion(); if (html_conv == null) { throw new Exception(pdfix.GetError()); } // customize conversion PsFileStream stm = pdfix.CreateFileStream(configPath, PsFileMode.kPsReadOnly); if (stm != null) { var doc_prelight = doc.GetTemplate(); if (doc_prelight == null) { throw new Exception(pdfix.GetError()); } if (!doc_prelight.LoadFromStream(stm, PsDataFormat.kDataFormatJson)) { throw new Exception(pdfix.GetError()); } stm.Destroy(); } //htmlParams.type = PdfHtmlType.kPdfHtmlResponsive; htmlParams.flags |= Pdfix.kHtmlNoExternalCSS | Pdfix.kHtmlNoExternalJS | Pdfix.kHtmlNoExternalIMG | Pdfix.kHtmlNoExternalFONT; //htmlParams.image_params.format = PdfImageFormat.kImageFormatJpg; //htmlParams.image_params.quality = 80; if (!html_conv.SetParams(htmlParams)) { throw new Exception(pdfix.GetError()); } var docStm = pdfix.CreateFileStream(Utils.GetAbsolutePath("output") + "/pages.html", PsFileMode.kPsTruncate); // prepare head docStm.Write(0, System.Text.Encoding.Default.GetBytes("<html>\n<head>\n<title>PDFix sample</title>\n</head>\n<body>\n")); docStm.Write(docStm.GetSize(), System.Text.Encoding.Default.GetBytes("<script>\n")); html_conv.SaveJavaScript(docStm); docStm.Write(docStm.GetSize(), System.Text.Encoding.Default.GetBytes("\n</script>\n<style>\n")); html_conv.SaveCSS(docStm); docStm.Write(docStm.GetSize(), System.Text.Encoding.Default.GetBytes("\n</style>\n")); // convert pages for (int i = 0; i < doc.GetNumPages(); i++) { if (!html_conv.AddPage(i, null, IntPtr.Zero)) { throw new Exception(pdfix.GetError()); } } if (!html_conv.SaveToStream(docStm, null, IntPtr.Zero)) { throw new Exception(pdfix.GetError()); } docStm.Write(docStm.GetSize(), System.Text.Encoding.Default.GetBytes("</body>\n</html>")); html_conv.Destroy(); docStm.Destroy(); doc.Close(); }
public static void Run( String email, // authorization email String licenseKey, // authorization license key String openPath, // source PDF document String savePath, // output folder for HTML content String configPath, // configuration file PdfHtmlParams htmlParams // html conversion params ) { Pdfix pdfix = new Pdfix(); if (pdfix == null) { throw new Exception("Pdfix initialization fail"); } if (!pdfix.Authorize(email, licenseKey)) { throw new Exception(pdfix.GetError()); } PdfToHtml pdfToHtml = new PdfToHtml(); if (pdfToHtml == null) { throw new Exception("PdfToHtml initialization fail"); } if (!pdfToHtml.Initialize(pdfix)) { throw new Exception(pdfix.GetError()); } PdfDoc doc = pdfix.OpenDoc(openPath, ""); if (doc == null) { throw new Exception(pdfix.GetError()); } // customize conversion PsFileStream stm = pdfix.CreateFileStream(configPath, PsFileMode.kPsReadOnly); if (stm != null) { PdfDocTemplate docTmpl = doc.GetDocTemplate(); if (docTmpl == null) { throw new Exception(pdfix.GetError()); } if (!docTmpl.LoadFromStream(stm, PsDataFormat.kDataFormatJson)) { throw new Exception(pdfix.GetError()); } stm.Destroy(); } // set html conversion params //htmlParams.type = PdfHtmlType.kPdfHtmlResponsive; //htmlParams.width = 1200; //htmlParams.flags |= PdfToHtml.kHtmlExportJavaScripts; //htmlParams.flags |= PdfToHtml.kHtmlExportFonts; //htmlParams.flags |= PdfToHtml.kHtmlRetainFontSize; //htmlParams.flags |= PdfToHtml.kHtmlRetainTextColor; htmlParams.flags |= PdfToHtml.kHtmlNoExternalCSS | PdfToHtml.kHtmlNoExternalJS | PdfToHtml.kHtmlNoExternalIMG | PdfToHtml.kHtmlNoExternalFONT; PdfHtmlDoc htmlDoc = pdfToHtml.OpenHtmlDoc(doc); if (htmlDoc == null) { throw new Exception(pdfix.GetError()); } // save common js and css for all pages PsStream docCss = pdfix.CreateFileStream(savePath + "/document.css", PsFileMode.kPsTruncate); if (!pdfToHtml.SaveCSS(docCss)) { throw new Exception(pdfix.GetError()); } docCss.Destroy(); PsStream docJs = pdfix.CreateFileStream(savePath + "/document.js", PsFileMode.kPsTruncate); if (!pdfToHtml.SaveJavaScript(docJs)) { throw new Exception(pdfix.GetError()); } docJs.Destroy(); PsStream docStm = pdfix.CreateFileStream(savePath + "/document.html", PsFileMode.kPsTruncate); if (!htmlDoc.SaveDocHtml(docStm, htmlParams, null, IntPtr.Zero)) { throw new Exception(pdfix.GetError()); } docStm.Destroy(); for (int i = 0; i < doc.GetNumPages(); i++) { string pageFile = savePath + "/document_page" + i + ".html"; PsStream pageStm = pdfix.CreateFileStream(pageFile, PsFileMode.kPsTruncate); if (!htmlDoc.SavePageHtml(pageStm, htmlParams, i, null, IntPtr.Zero)) { throw new Exception(pdfix.GetError()); } pageStm.Destroy(); } htmlDoc.Close(); doc.Close(); pdfToHtml.Destroy(); pdfix.Destroy(); }