/// <summary> /// Converts multiple PDF files to HTML files. /// </summary> static void ConvertMultiplePdfToHtmls() { // Directory with *.pdf files. string pdfDirectory = Path.GetFullPath(@"..\..\..\..\..\"); string[] pdfFiles = Directory.GetFiles(pdfDirectory, "*.pdf"); PdfFocus f = new PdfFocus(); // After purchasing the license, please insert your serial number here to activate the component: //f.Serial = "123456789"; int success = 0; int total = 0; foreach (string pdfFile in pdfFiles) { Console.WriteLine("Converting {0} ...", Path.GetFileName(pdfFile)); f.OpenPdf(pdfFile); total++; if (f.PageCount > 0) { // Path (must exist) to a directory to store images after converting. Notice also to the property "ImageSubFolder". f.HtmlOptions.ImageFolder = Path.GetDirectoryName(pdfFile); // A folder (will be created by the component) without any drive letters, only the folder as "myfolder". f.HtmlOptions.ImageSubFolder = String.Format("{0}_images", Path.GetFileNameWithoutExtension(pdfFile)); // We recommend to use PNG type for storing images. f.HtmlOptions.ImageType = PdfFocus.CHtmlOptions.eHtmlImageType.Png; // How to store images: Inside HTML document as base64 images or as linked separate image files. f.HtmlOptions.IncludeImageInHtml = false; string resultFile = Path.ChangeExtension(pdfFile, ".html"); if (f.ToHtml(resultFile) == 0) { success++; } } } // Show results: Console.WriteLine("{0} of {1} files converted successfully!", success, total); Console.WriteLine("Press any key ..."); Console.ReadLine(); // Open folder with HTML files after converting. System.Diagnostics.Process.Start(pdfDirectory); }
private void ShowPdf() { if (Session["focus"] != null) { PdfFocus f = (PdfFocus)Session["focus"]; if (f.PageCount > 0) { f.HtmlOptions.IncludeImageInHtml = true; f.EmbeddedImagesFormat = PdfFocus.eImageFormat.Png; int page = (int)Session["page"]; string html = f.ToHtml(page, page); htmlLiteral.Text = html; txtPage.Text = String.Format("Page {0} of {1}", page, f.PageCount); } } }
public static bool PdfToHtml(this FileInfo file, DirectoryInfo writeToDirectory, ILog logger, out FileInfo resultFile) { resultFile = null; try { PdfFocus pdf = new PdfFocus(); pdf.OpenPdf(file.FullName); string fileName = $"{Path.GetFileNameWithoutExtension(file.FullName)}.html"; resultFile = new FileInfo(Path.Combine(writeToDirectory.FullName, fileName)); if (resultFile.Exists) { resultFile = new FileInfo(resultFile.FullName.GetNextFileName()); } pdf.ToHtml(resultFile.FullName); return(true); } catch (Exception ex) { logger.Error("An exception occurred: {0}\r\n{1}", ex.Message, ex.StackTrace); return(false); } }
/// <summary> /// Converts multiple PDF files into a single HTML document. /// </summary> static void ConvertMultiplePdfToSingleHtml() { // Directory with *.pdf files. string pdfDirectory = Path.GetFullPath(@"..\..\..\..\..\"); string htmlFile = Path.GetFullPath("Result.html"); string[] pdfFiles = Directory.GetFiles(pdfDirectory, "*.pdf"); // Here we'll keep our Html document. StringBuilder singleHtml = new StringBuilder(); singleHtml.Append("<html><body>"); PdfFocus f = new PdfFocus(); //f.Serial = "123456789"; int success = 0; int total = 0; foreach (string pdfFile in pdfFiles) { Console.WriteLine("Converting {0} ...", Path.GetFileName(pdfFile)); f.OpenPdf(pdfFile); total++; if (f.PageCount > 0) { // Path (must exist) to a directory to store images after converting. Notice also to the property "ImageSubFolder". f.HtmlOptions.ImageFolder = Path.GetDirectoryName(htmlFile); // A folder (will be created by the component) without any drive letters, only the folder as "myfolder". f.HtmlOptions.ImageSubFolder = "images"; // We recommend to use PNG type for storing images. f.HtmlOptions.ImageType = PdfFocus.CHtmlOptions.eHtmlImageType.Png; // How to store images: Inside HTML document as base64 images or as linked separate image files. f.HtmlOptions.IncludeImageInHtml = false; // Let's make our CSS inline to be able merge HTML documents without any problems. f.HtmlOptions.InlineCSS = true; // We need only contents of <body>...</body>. f.HtmlOptions.ProduceOnlyHtmlBody = true; string tempHtml = f.ToHtml(); if (!String.IsNullOrEmpty(tempHtml)) { success++; // Add tempHtml into a single HTML. singleHtml.Append(tempHtml); } } } singleHtml.Append("</body></html>"); // Show results: File.WriteAllText(htmlFile, singleHtml.ToString()); Console.WriteLine("{0} of {1} files converted and merged into {2}!", success, total, Path.GetFileName(htmlFile)); Console.WriteLine("Press any key ..."); Console.ReadLine(); // Open our single HTML document. System.Diagnostics.Process.Start(htmlFile); }
/// <summary> /// Converts multiple PDF files into a single HTML document. /// </summary> static void ConvertMultiplePdfToSingleHtml() { // Directory with *.pdf files. string pdfDirectory = Path.GetFullPath(@"..\..\"); string htmlFile = "Result.html"; string[] pdfFiles = Directory.GetFiles(pdfDirectory, "*.pdf"); // Here we'll keep our Html document. StringBuilder singleHtml = new StringBuilder(); singleHtml.Append("<html>\r\n<head>\r\n"); singleHtml.Append(@"<meta http-equiv = ""Content-Type"" content=""text/html; charset=utf-8"" />"); singleHtml.Append("\r\n</head>\r\n<body>"); PdfFocus f = new PdfFocus(); //f.Serial = "XXXXXXXXXXX"; int success = 0; int total = 0; foreach (string pdfFile in pdfFiles) { Console.WriteLine("Converting {0} ...", Path.GetFileName(pdfFile)); f.OpenPdf(pdfFile); total++; if (f.PageCount > 0) { // How to store images: Inside HTML document as base64 images or as linked separate image files. f.HtmlOptions.IncludeImageInHtml = false; // Create own subfolder for each converted file to store images separately and don't mix up them. f.HtmlOptions.ImageSubFolder = String.Format("{0}_images", Path.GetFileNameWithoutExtension(pdfFile)); // A template name for images f.HtmlOptions.ImageFileName = "picture"; // Auto - the same image format as in the source PDF; // 'Jpeg' to make the document size less; // 'PNG' to keep the highest quality, but the highest size too. f.EmbeddedImagesFormat = PdfFocus.eImageFormat.Auto; // Let's make our CSS inline to be able merge HTML documents without any problems. f.HtmlOptions.InlineCSS = true; // We need only contents of <body>...</body>. f.HtmlOptions.ProduceOnlyHtmlBody = true; string tempHtml = f.ToHtml(); if (!String.IsNullOrEmpty(tempHtml)) { success++; // Add tempHtml into a single HTML. singleHtml.Append(tempHtml); } } } singleHtml.Append("</body></html>"); // Show results: File.WriteAllText(htmlFile, singleHtml.ToString()); Console.WriteLine("{0} of {1} files converted and merged into {2}!", success, total, Path.GetFileName(htmlFile)); // Open the result for demonstration purposes. System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo(htmlFile) { UseShellExecute = true }); }
/// <summary> /// Converts multiple PDF files to HTML files. /// </summary> static void ConvertMultiplePdfToHtmls() { // Directory with *.pdf files. string pdfDirectory = Path.GetFullPath(@"..\..\"); string[] pdfFiles = Directory.GetFiles(pdfDirectory, "*.pdf"); DirectoryInfo htmlDirectory = new DirectoryInfo(@"htmls"); if (!htmlDirectory.Exists) { htmlDirectory.Create(); } PdfFocus f = new PdfFocus(); // After purchasing the license, please insert your serial number here to activate the component: //f.Serial = "XXXXXXXXXXX"; int success = 0; int total = 0; foreach (string pdfFile in pdfFiles) { Console.WriteLine("Converting {0} ...", Path.GetFileName(pdfFile)); f.OpenPdf(pdfFile); total++; if (f.PageCount > 0) { // Path (must exist) to a directory to store images after converting. Notice also to the property "ImageSubFolder". f.HtmlOptions.ImageFolder = htmlDirectory.FullName; // A folder (will be created by the component) without any drive letters, only the folder as "myfolder". f.HtmlOptions.ImageSubFolder = String.Format("{0}_images", Path.GetFileNameWithoutExtension(pdfFile)); // A template name for images f.HtmlOptions.ImageFileName = "picture"; // Auto - the same image format as in the source PDF; // 'Jpeg' to make the document size less; // 'PNG' to keep the highest quality, but the highest size too. f.EmbeddedImagesFormat = PdfFocus.eImageFormat.Auto; // How to store images: Inside HTML document as base64 images or as linked separate image files. f.HtmlOptions.IncludeImageInHtml = false; string htmlFile = Path.GetFileNameWithoutExtension(pdfFile) + ".html"; string htmlFilePath = Path.Combine(htmlDirectory.FullName, htmlFile); if (f.ToHtml(htmlFilePath) == 0) { success++; } } } // Show results: Console.WriteLine("{0} of {1} files converted successfully!", success, total); // Open folder with HTML files after converting. // Open the result for demonstration purposes. System.Diagnostics.Process.Start(new System.Diagnostics.ProcessStartInfo(htmlDirectory.FullName) { UseShellExecute = true }); }