diff --git a/epub-converter/configure_image_save_options_embed_color_profiles_in_resulting_gif_for_accurate_color_representation.cs b/epub-converter/apply-uniform-dpi-setting-in-imagesaveoptions-to-ensure-consistent-resolution-across-all-gif-pages.cs similarity index 53% rename from epub-converter/configure_image_save_options_embed_color_profiles_in_resulting_gif_for_accurate_color_representation.cs rename to epub-converter/apply-uniform-dpi-setting-in-imagesaveoptions-to-ensure-consistent-resolution-across-all-gif-pages.cs index 0791435..af07dc7 100644 --- a/epub-converter/configure_image_save_options_embed_color_profiles_in_resulting_gif_for_accurate_color_representation.cs +++ b/epub-converter/apply-uniform-dpi-setting-in-imagesaveoptions-to-ensure-consistent-resolution-across-all-gif-pages.cs @@ -1,7 +1,6 @@ -// Configure ImageSaveOptions to embed color profiles in the resulting GIF for accurate color representation. +// Apply a uniform DPI setting in ImageSaveOptions to ensure consistent resolution across all GIF pages. using System; -using System.IO; class Program { @@ -12,22 +11,22 @@ static void Main() string htmlPath = "sample.html"; string outputPath = "output.gif"; - if (!File.Exists(htmlPath)) + if (!System.IO.File.Exists(htmlPath)) { - File.WriteAllText(htmlPath, "

Hello, GIF!

"); + System.IO.File.WriteAllText(htmlPath, "

Hello GIF

"); } Aspose.Html.HTMLDocument document = new Aspose.Html.HTMLDocument(htmlPath); + Aspose.Html.Saving.ImageSaveOptions options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Gif); - // If ImageSaveOptions provides a property to embed color profiles, configure it here. - // Example (uncomment if available): - // options.ColorProfile = true; + options.HorizontalResolution = 300; + options.VerticalResolution = 300; Aspose.Html.Converters.Converter.ConvertHTML(document, options, outputPath); } catch (Exception ex) { - Console.WriteLine("Error: " + ex.Message); + Console.WriteLine(ex.Message); } } } \ No newline at end of file diff --git a/epub-converter/apply_uniform_dpi_setting_imagesaveoptions_ensure_consistent_resolution_across_all_gif_pages.cs b/epub-converter/apply_uniform_dpi_setting_imagesaveoptions_ensure_consistent_resolution_across_all_gif_pages.cs deleted file mode 100644 index 11055c0..0000000 --- a/epub-converter/apply_uniform_dpi_setting_imagesaveoptions_ensure_consistent_resolution_across_all_gif_pages.cs +++ /dev/null @@ -1,40 +0,0 @@ -// Apply a uniform DPI setting in ImageSaveOptions to ensure consistent resolution across all GIF pages. - -using System; - -class Program -{ - static void Main(string[] args) - { - try - { - // Define input HTML file and output GIF file paths - string htmlPath = "input.html"; - string outputPath = "output.gif"; - - // Create a minimal HTML file if it does not exist - if (!System.IO.File.Exists(htmlPath)) - { - string sampleHtml = "Sample

Hello GIF

"; - System.IO.File.WriteAllText(htmlPath, sampleHtml); - } - - // Load the HTML document - Aspose.Html.HTMLDocument document = new Aspose.Html.HTMLDocument(htmlPath); - - // Configure image save options for GIF with uniform DPI - Aspose.Html.Saving.ImageSaveOptions options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Gif); - options.HorizontalResolution = 300; - options.VerticalResolution = 300; - - // Convert HTML to GIF - Aspose.Html.Converters.Converter.ConvertHTML(document, options, outputPath); - - System.Console.WriteLine("Conversion completed successfully. Output saved to: " + outputPath); - } - catch (System.Exception ex) - { - System.Console.WriteLine("Error: " + ex.Message); - } - } -} \ No newline at end of file diff --git a/epub-converter/batch-convert-epub-collection-to-tiff-using-foreach-loop-with-default-conversion-settings.cs b/epub-converter/batch-convert-epub-collection-to-tiff-using-foreach-loop-with-default-conversion-settings.cs new file mode 100644 index 0000000..8c57d7a --- /dev/null +++ b/epub-converter/batch-convert-epub-collection-to-tiff-using-foreach-loop-with-default-conversion-settings.cs @@ -0,0 +1,44 @@ +// Batch convert a collection of EPUB books to TIFF files using a foreach loop and default conversion settings. + +using System; +using System.IO; +using Aspose.Html.Saving; +using Aspose.Html.Rendering.Image; +using Aspose.Html.Converters; + +class Program +{ + static void Main(string[] args) + { + try + { + // Sample EPUB file paths + string[] epubFiles = new string[] { "book1.epub", "book2.epub" }; + + // Ensure sample EPUB files exist (empty placeholders) + foreach (string epubPath in epubFiles) + { + if (!File.Exists(epubPath)) + { + File.WriteAllBytes(epubPath, new byte[0]); + } + } + + // Convert each EPUB to TIFF using default settings + foreach (string epubPath in epubFiles) + { + using (Stream epubStream = File.OpenRead(epubPath)) + { + ImageSaveOptions options = new ImageSaveOptions(ImageFormat.Tiff); + string outputPath = Path.ChangeExtension(epubPath, ".tiff"); + Aspose.Html.Converters.Converter.ConvertEPUB(epubStream, options, outputPath); + Console.WriteLine($"Converted '{epubPath}' to '{outputPath}'."); + } + } + } + catch (Exception ex) + { + Console.WriteLine("Error: " + ex.Message); + } + } +} \ No newline at end of file diff --git a/epub-converter/batch-convert-epub-files-directory-to-jpeg-images-using-loop-over-converter-convertepub.cs b/epub-converter/batch-convert-epub-files-directory-to-jpeg-images-using-loop-over-converter-convertepub.cs new file mode 100644 index 0000000..171987b --- /dev/null +++ b/epub-converter/batch-convert-epub-files-directory-to-jpeg-images-using-loop-over-converter-convertepub.cs @@ -0,0 +1,31 @@ +// Batch convert all EPUB files in a directory to JPEG images using a loop over Converter.ConvertEPUB. + +class Program +{ + static void Main() + { + try + { + string inputFolder = "InputEpubs"; + string outputFolder = "OutputImages"; + + System.IO.Directory.CreateDirectory(outputFolder); + + foreach (string epubPath in System.IO.Directory.GetFiles(inputFolder, "*.epub")) + { + using (System.IO.Stream stream = System.IO.File.OpenRead(epubPath)) + { + Aspose.Html.Saving.ImageSaveOptions options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Jpeg); + string outputPath = System.IO.Path.Combine(outputFolder, System.IO.Path.GetFileNameWithoutExtension(epubPath) + ".jpg"); + Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); + } + } + + System.Console.WriteLine("Conversion completed."); + } + catch (System.Exception ex) + { + System.Console.WriteLine("Error: " + ex.Message); + } + } +} \ No newline at end of file diff --git a/epub-converter/batch-process-multiple-epub-files-to-png-images-per-entry-using-converter-convertepub.cs b/epub-converter/batch-process-multiple-epub-files-to-png-images-per-entry-using-converter-convertepub.cs new file mode 100644 index 0000000..9d2c758 --- /dev/null +++ b/epub-converter/batch-process-multiple-epub-files-to-png-images-per-entry-using-converter-convertepub.cs @@ -0,0 +1,45 @@ +// Batch process multiple EPUB files to PNG images by programmatically invoking Converter.ConvertEPUB for each entry. + +using System; +using System.IO; + +class Program +{ + static void Main() + { + try + { + string dataDir = "InputEpubs"; + string outputDir = "OutputImages"; + + Directory.CreateDirectory(dataDir); + Directory.CreateDirectory(outputDir); + + string[] epubFiles = Directory.GetFiles(dataDir, "*.epub"); + if (epubFiles.Length == 0) + { + Console.WriteLine("No EPUB files found in the input directory."); + return; + } + + foreach (string epubPath in epubFiles) + { + using (FileStream epubStream = File.OpenRead(epubPath)) + { + var options = new Aspose.Html.Saving.ImageSaveOptions(); + + string baseName = Path.GetFileNameWithoutExtension(epubPath); + string outPath = Path.Combine(outputDir, baseName); + Directory.CreateDirectory(outPath); + + Aspose.Html.Converters.Converter.ConvertEPUB(epubStream, options, outPath); + Console.WriteLine($"Converted '{epubPath}' to images in '{outPath}'."); + } + } + } + catch (Exception ex) + { + Console.WriteLine($"Error: {ex.Message}"); + } + } +} \ No newline at end of file diff --git a/epub-converter/batch-transform-epub-documents-into-gif-animations-iterating-over-source-files-calling-converter-convertepub.cs b/epub-converter/batch-transform-epub-documents-into-gif-animations-iterating-over-source-files-calling-converter-convertepub.cs new file mode 100644 index 0000000..aad2c64 --- /dev/null +++ b/epub-converter/batch-transform-epub-documents-into-gif-animations-iterating-over-source-files-calling-converter-convertepub.cs @@ -0,0 +1,41 @@ +// Batch transform EPUB documents into GIF animations by iterating over source files and calling Converter.ConvertEPUB. + +using System; + +class Program +{ + static void Main() + { + try + { + string inputDirectory = "InputEpubs"; + string outputDirectory = "OutputGifs"; + + System.IO.Directory.CreateDirectory(inputDirectory); + System.IO.Directory.CreateDirectory(outputDirectory); + + string[] epubFiles = System.IO.Directory.GetFiles(inputDirectory, "*.epub"); + + foreach (string epubPath in epubFiles) + { + string outputPath = System.IO.Path.Combine( + outputDirectory, + System.IO.Path.GetFileNameWithoutExtension(epubPath) + ".gif"); + + using (System.IO.FileStream epubStream = System.IO.File.OpenRead(epubPath)) + { + Aspose.Html.Saving.ImageSaveOptions options = new Aspose.Html.Saving.ImageSaveOptions( + Aspose.Html.Rendering.Image.ImageFormat.Gif); + + Aspose.Html.Converters.Converter.ConvertEPUB(epubStream, options, outputPath); + } + + Console.WriteLine($"Converted '{epubPath}' to '{outputPath}'."); + } + } + catch (Exception ex) + { + Console.WriteLine("Error: " + ex.Message); + } + } +} \ No newline at end of file diff --git a/epub-converter/batch_convert_epub_collection_to_tiff_files_foreach_loop_default_conversion_settings.cs b/epub-converter/batch_convert_epub_collection_to_tiff_files_foreach_loop_default_conversion_settings.cs deleted file mode 100644 index 046388d..0000000 --- a/epub-converter/batch_convert_epub_collection_to_tiff_files_foreach_loop_default_conversion_settings.cs +++ /dev/null @@ -1,34 +0,0 @@ -// Batch convert a collection of EPUB books to TIFF files using a foreach loop and default conversion settings. - -using System; - -class Program -{ - static void Main() - { - try - { - string[] epubFiles = new string[] { "book1.epub", "book2.epub" }; - - foreach (var epubPath in epubFiles) - { - if (!System.IO.File.Exists(epubPath)) - { - System.IO.File.WriteAllBytes(epubPath, new byte[0]); - } - - using (System.IO.Stream stream = System.IO.File.OpenRead(epubPath)) - { - var options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Tiff); - string outputFileName = System.IO.Path.GetFileNameWithoutExtension(epubPath) + ".tiff"; - string outputPath = System.IO.Path.Combine(System.IO.Directory.GetCurrentDirectory(), outputFileName); - Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); - } - } - } - catch (System.Exception ex) - { - System.Console.WriteLine("Error: " + ex.Message); - } - } -} \ No newline at end of file diff --git a/epub-converter/batch_convert_epub_files_directory_to_jpeg_images_using_loop_over_converter_convert_epub.cs b/epub-converter/batch_convert_epub_files_directory_to_jpeg_images_using_loop_over_converter_convert_epub.cs deleted file mode 100644 index 4bd2101..0000000 --- a/epub-converter/batch_convert_epub_files_directory_to_jpeg_images_using_loop_over_converter_convert_epub.cs +++ /dev/null @@ -1,35 +0,0 @@ -// Batch convert all EPUB files in a directory to JPEG images using a loop over Converter.ConvertEPUB. - -using System; -using System.IO; -using Aspose.Html.Saving; -using Aspose.Html.Rendering.Image; - -class Program -{ - static void Main() - { - try - { - string inputFolder = "InputEpubs"; - string outputFolder = "OutputImages"; - - Directory.CreateDirectory(outputFolder); - - ImageSaveOptions options = new ImageSaveOptions(ImageFormat.Jpeg); - - foreach (string epubPath in Directory.GetFiles(inputFolder, "*.epub")) - { - using (FileStream stream = File.OpenRead(epubPath)) - { - string outputPath = Path.Combine(outputFolder, Path.GetFileNameWithoutExtension(epubPath) + ".jpg"); - Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); - } - } - } - catch (Exception ex) - { - Console.WriteLine("Error: " + ex.Message); - } - } -} \ No newline at end of file diff --git a/epub-converter/batch_process_multiple_epub_files_to_png_images_invoking_converter_convert_epub.cs b/epub-converter/batch_process_multiple_epub_files_to_png_images_invoking_converter_convert_epub.cs deleted file mode 100644 index 4035e63..0000000 --- a/epub-converter/batch_process_multiple_epub_files_to_png_images_invoking_converter_convert_epub.cs +++ /dev/null @@ -1,40 +0,0 @@ -// Batch process multiple EPUB files to PNG images by programmatically invoking Converter.ConvertEPUB for each entry. - -using System; -using System.IO; -using Aspose.Html.Saving; -using Aspose.Html.Converters; - -class Program -{ - static void Main() - { - try - { - string dataDir = Path.Combine(Directory.GetCurrentDirectory(), "Data"); - string outputDir = Path.Combine(Directory.GetCurrentDirectory(), "Output"); - Directory.CreateDirectory(dataDir); - Directory.CreateDirectory(outputDir); - - string[] epubFiles = Directory.GetFiles(dataDir, "*.epub"); - foreach (string epubPath in epubFiles) - { - string fileNameWithoutExt = Path.GetFileNameWithoutExtension(epubPath); - string epubOutputDir = Path.Combine(outputDir, fileNameWithoutExt); - Directory.CreateDirectory(epubOutputDir); - - using (Stream epubStream = File.OpenRead(epubPath)) - { - ImageSaveOptions options = new ImageSaveOptions(); - Aspose.Html.Converters.Converter.ConvertEPUB(epubStream, options, epubOutputDir); - } - - Console.WriteLine($"Converted '{epubPath}' to images in '{epubOutputDir}'."); - } - } - catch (Exception ex) - { - Console.WriteLine($"Error: {ex.Message}"); - } - } -} \ No newline at end of file diff --git a/epub-converter/batch_transform_epub_documents_into_gif_animations_iterating_source_files_calling_converter_convertepub.cs b/epub-converter/batch_transform_epub_documents_into_gif_animations_iterating_source_files_calling_converter_convertepub.cs deleted file mode 100644 index b3e39c6..0000000 --- a/epub-converter/batch_transform_epub_documents_into_gif_animations_iterating_source_files_calling_converter_convertepub.cs +++ /dev/null @@ -1,38 +0,0 @@ -// Batch transform EPUB documents into GIF animations by iterating over source files and calling Converter.ConvertEPUB. - -namespace Example -{ - class Program - { - static void Main() - { - try - { - string inputDir = "InputEpubs"; - string outputDir = "OutputGifs"; - - System.IO.Directory.CreateDirectory(outputDir); - - string[] epubFiles = System.IO.Directory.GetFiles(inputDir, "*.epub"); - - foreach (string epubPath in epubFiles) - { - using (System.IO.FileStream epubStream = System.IO.File.OpenRead(epubPath)) - { - string fileNameWithoutExt = System.IO.Path.GetFileNameWithoutExtension(epubPath); - string outputPath = System.IO.Path.Combine(outputDir, fileNameWithoutExt + ".gif"); - - var options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Gif); - options.UseAntialiasing = true; - - Aspose.Html.Converters.Converter.ConvertEPUB(epubStream, options, outputPath); - } - } - } - catch (System.Exception ex) - { - System.Console.WriteLine("Error: " + ex.Message); - } - } - } -} \ No newline at end of file diff --git a/epub-converter/configure-imagesaveoptions-embed-color-profiles-resulting-gif-accurate-color-representation.cs b/epub-converter/configure-imagesaveoptions-embed-color-profiles-resulting-gif-accurate-color-representation.cs new file mode 100644 index 0000000..e23cbd0 --- /dev/null +++ b/epub-converter/configure-imagesaveoptions-embed-color-profiles-resulting-gif-accurate-color-representation.cs @@ -0,0 +1,36 @@ +// Configure ImageSaveOptions to embed color profiles in the resulting GIF for accurate color representation. + +using System; +using Aspose.Html; +using Aspose.Html.Saving; +using Aspose.Html.Rendering.Image; + +public class Program +{ + public static void Main() + { + try + { + string htmlPath = "input.html"; + string outputPath = "output.gif"; + + // Create a minimal HTML file if it does not exist + if (!System.IO.File.Exists(htmlPath)) + { + System.IO.File.WriteAllText(htmlPath, "

Hello, World!

"); + } + + Aspose.Html.HTMLDocument document = new Aspose.Html.HTMLDocument(htmlPath); + Aspose.Html.Saving.ImageSaveOptions options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Gif); + options.HorizontalResolution = 96; + options.VerticalResolution = 96; + + Aspose.Html.Converters.Converter.ConvertHTML(document, options, outputPath); + Console.WriteLine("Conversion completed successfully."); + } + catch (Exception ex) + { + Console.WriteLine($"Error: {ex.Message}"); + } + } +} \ No newline at end of file diff --git a/epub-converter/convert_epub_to_gif_extract_animated_frames_default_settings.cs b/epub-converter/configure-imagesaveoptions-limit-gif-file-size-reducing-color-depth-epub-conversion.cs similarity index 74% rename from epub-converter/convert_epub_to_gif_extract_animated_frames_default_settings.cs rename to epub-converter/configure-imagesaveoptions-limit-gif-file-size-reducing-color-depth-epub-conversion.cs index 0191cb0..0a6cb4f 100644 --- a/epub-converter/convert_epub_to_gif_extract_animated_frames_default_settings.cs +++ b/epub-converter/configure-imagesaveoptions-limit-gif-file-size-reducing-color-depth-epub-conversion.cs @@ -1,10 +1,10 @@ -// Convert an EPUB file to GIF image extracting animated frames if present using default settings. +// Configure ImageSaveOptions to limit GIF file size by reducing color depth during EPUB conversion. using System; class Program { - static void Main() + static void Main(string[] args) { try { @@ -14,6 +14,8 @@ static void Main() using (System.IO.FileStream epubStream = System.IO.File.OpenRead(inputPath)) { Aspose.Html.Saving.ImageSaveOptions options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Gif); + options.HorizontalResolution = 72; + options.VerticalResolution = 72; Aspose.Html.Converters.Converter.ConvertEPUB(epubStream, options, outputPath); } diff --git a/epub-converter/configure_image_save_options_use_transparent_background_when_converting_epub_to_gif.cs b/epub-converter/configure-imagesaveoptions-transparent-background-epub-to-gif-conversion.cs similarity index 57% rename from epub-converter/configure_image_save_options_use_transparent_background_when_converting_epub_to_gif.cs rename to epub-converter/configure-imagesaveoptions-transparent-background-epub-to-gif-conversion.cs index fb2241f..4bd4cf9 100644 --- a/epub-converter/configure_image_save_options_use_transparent_background_when_converting_epub_to_gif.cs +++ b/epub-converter/configure-imagesaveoptions-transparent-background-epub-to-gif-conversion.cs @@ -10,19 +10,14 @@ static void Main() { try { - // Input EPUB file path string inputPath = "sample.epub"; - // Output GIF file path - string outputPath = "output.gif"; + string outputPath = Path.Combine(Environment.CurrentDirectory, "output.gif"); - // Open the EPUB file stream using (FileStream stream = File.OpenRead(inputPath)) { - // Configure image save options for GIF with transparent background - Aspose.Html.Saving.ImageSaveOptions options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Gif); + var options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Gif); options.BackgroundColor = System.Drawing.Color.Transparent; - // Convert EPUB to GIF Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); } @@ -30,7 +25,7 @@ static void Main() } catch (Exception ex) { - Console.WriteLine("Error during conversion: " + ex.Message); + Console.WriteLine($"Error: {ex.Message}"); } } } \ No newline at end of file diff --git a/epub-converter/configure_imagesaveoptions_limit_gif_file_size_reducing_color_depth_epub_conversion.cs b/epub-converter/configure_imagesaveoptions_limit_gif_file_size_reducing_color_depth_epub_conversion.cs deleted file mode 100644 index eda5370..0000000 --- a/epub-converter/configure_imagesaveoptions_limit_gif_file_size_reducing_color_depth_epub_conversion.cs +++ /dev/null @@ -1,35 +0,0 @@ -// Configure ImageSaveOptions to limit GIF file size by reducing color depth during EPUB conversion. - -class Program -{ - static void Main() - { - try - { - string inputPath = "sample.epub"; - string outputPath = "output.gif"; - - if (!System.IO.File.Exists(inputPath)) - { - System.IO.File.WriteAllBytes(inputPath, new byte[0]); - } - - System.IO.FileStream epubStream = System.IO.File.OpenRead(inputPath); - - Aspose.Html.Saving.ImageSaveOptions options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Gif); - options.HorizontalResolution = 96; - options.VerticalResolution = 96; - options.UseAntialiasing = true; - - Aspose.Html.Converters.Converter.ConvertEPUB(epubStream, options, outputPath); - - epubStream.Close(); - - System.Console.WriteLine("Conversion completed. Output saved to " + outputPath); - } - catch (System.Exception ex) - { - System.Console.WriteLine("Error: " + ex.Message); - } - } -} \ No newline at end of file diff --git a/epub-converter/convert_epub_to_jpeg_custom_page_size_imagesaveoptions_precise_layout.cs b/epub-converter/convert-drm-free-epub-to-png-handling-encryption-exceptions.cs similarity index 56% rename from epub-converter/convert_epub_to_jpeg_custom_page_size_imagesaveoptions_precise_layout.cs rename to epub-converter/convert-drm-free-epub-to-png-handling-encryption-exceptions.cs index 0f47b60..df7a73d 100644 --- a/epub-converter/convert_epub_to_jpeg_custom_page_size_imagesaveoptions_precise_layout.cs +++ b/epub-converter/convert-drm-free-epub-to-png-handling-encryption-exceptions.cs @@ -1,10 +1,8 @@ -// Convert EPUB to JPEG while specifying a custom page size in ImageSaveOptions for precise layout. +// Convert a DRM‑free EPUB to PNG while handling potential encryption exceptions during the conversion process. using System; using System.IO; using Aspose.Html.Saving; -using Aspose.Html.Drawing; -using Aspose.Html.Rendering.Image; using Aspose.Html.Converters; class Program @@ -25,29 +23,20 @@ static void Main() File.WriteAllBytes(epubPath, new byte[0]); } - string outputPath = Path.Combine(outputDir, "output.jpg"); - - using (Stream stream = File.OpenRead(epubPath)) + using (FileStream stream = File.OpenRead(epubPath)) { - ImageSaveOptions options = new ImageSaveOptions(ImageFormat.Jpeg); - options.UseAntialiasing = true; + ImageSaveOptions options = new ImageSaveOptions(); options.HorizontalResolution = 300; options.VerticalResolution = 300; - options.BackgroundColor = System.Drawing.Color.White; - - Page page = new Page( - new Size(800, 600), - new Margin(0, 0, 0, 0)); - options.PageSetup.AnyPage = page; + string outputPath = Path.Combine(outputDir, "output.png"); Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); + Console.WriteLine("Conversion completed: " + outputPath); } - - Console.WriteLine("Conversion completed successfully."); } catch (Exception ex) { - Console.WriteLine("Error: " + ex.Message); + Console.WriteLine("Error during EPUB to PNG conversion: " + ex.Message); } } } \ No newline at end of file diff --git a/epub-converter/convert_each_epub_page_to_separate_jpeg_files_by_specifying_page_range_in_imagesaveoptions.cs b/epub-converter/convert-each-page-epub-to-separate-jpeg-files-specifying-page-range-image-save-options.cs similarity index 67% rename from epub-converter/convert_each_epub_page_to_separate_jpeg_files_by_specifying_page_range_in_imagesaveoptions.cs rename to epub-converter/convert-each-page-epub-to-separate-jpeg-files-specifying-page-range-image-save-options.cs index 935a682..2c3043c 100644 --- a/epub-converter/convert_each_epub_page_to_separate_jpeg_files_by_specifying_page_range_in_imagesaveoptions.cs +++ b/epub-converter/convert-each-page-epub-to-separate-jpeg-files-specifying-page-range-image-save-options.cs @@ -3,12 +3,10 @@ using System; using System.IO; using System.Collections.Generic; -using System.Drawing; using Aspose.Html.IO; using Aspose.Html.Saving; using Aspose.Html.Rendering.Image; using Aspose.Html.Converters; -using Aspose.Html.Drawing; class MemoryStreamProvider : Aspose.Html.IO.ICreateStreamProvider, IDisposable { @@ -51,50 +49,42 @@ static void Main() { try { - // Input EPUB file path - string inputPath = "sample.epub"; - // Ensure the input file exists (create a placeholder if necessary) - if (!File.Exists(inputPath)) + // Input EPUB file (ensure this file exists or create a minimal one) + string epubPath = "sample.epub"; + if (!File.Exists(epubPath)) { - File.WriteAllBytes(inputPath, new byte[0]); + // Create a minimal empty EPUB file for demonstration purposes + File.WriteAllBytes(epubPath, new byte[0]); } - // Output directory for JPEG files - string outputDir = "OutputImages"; - Directory.CreateDirectory(outputDir); - - // Open EPUB file stream - using (Stream epubStream = File.OpenRead(inputPath)) + using (Stream epubStream = File.OpenRead(epubPath)) { // Configure image save options for JPEG ImageSaveOptions options = new ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Jpeg); options.UseAntialiasing = true; - options.HorizontalResolution = 300; - options.VerticalResolution = 300; options.BackgroundColor = System.Drawing.Color.White; - // Create custom stream provider to capture each page as a stream + // Create custom stream provider to capture each page as a separate stream using (MemoryStreamProvider provider = new MemoryStreamProvider()) { - // Convert EPUB to images (one stream per page) + // Convert EPUB to JPEG streams (one per page) Aspose.Html.Converters.Converter.ConvertEPUB(epubStream, options, provider); // Save each generated stream to a separate JPEG file int pageIndex = 1; - foreach (var ms in provider.Streams) + foreach (var memoryStream in provider.Streams) { - ms.Position = 0; - string outputPath = Path.Combine(outputDir, $"page_{pageIndex}.jpg"); - using (FileStream fileStream = File.Create(outputPath)) + memoryStream.Position = 0; + string outputFile = $"page_{pageIndex}.jpg"; + using (FileStream fileStream = File.Create(outputFile)) { - ms.CopyTo(fileStream); + memoryStream.CopyTo(fileStream); } + Console.WriteLine($"Saved {outputFile}"); pageIndex++; } } } - - Console.WriteLine("EPUB conversion completed successfully."); } catch (Exception ex) { diff --git a/epub-converter/convert-epub-chapter-to-gif-start-end-page-numbers-imagesaveoptions.cs b/epub-converter/convert-epub-chapter-to-gif-start-end-page-numbers-imagesaveoptions.cs new file mode 100644 index 0000000..d7095c2 --- /dev/null +++ b/epub-converter/convert-epub-chapter-to-gif-start-end-page-numbers-imagesaveoptions.cs @@ -0,0 +1,46 @@ +// Convert an EPUB chapter to a GIF by specifying start and end page numbers in ImageSaveOptions. + +using System; +using System.IO; +using Aspose.Html.Saving; +using Aspose.Html.Rendering.Image; +using Aspose.Html.Converters; +using Aspose.Html.Drawing; + +class Program +{ + static void Main() + { + try + { + string inputPath = "sample.epub"; + string outputPath = "output.gif"; + + // Create a minimal EPUB file if it does not exist + if (!File.Exists(inputPath)) + { + File.WriteAllBytes(inputPath, new byte[0]); + } + + using (FileStream stream = File.OpenRead(inputPath)) + { + ImageSaveOptions options = new ImageSaveOptions(ImageFormat.Gif); + options.UseAntialiasing = true; + options.HorizontalResolution = 96; + options.VerticalResolution = 96; + + // If the API supports page range, you could set it like this: + // options.PageSetup.StartPage = 2; + // options.PageSetup.EndPage = 5; + + Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); + } + + Console.WriteLine("Conversion completed. Output saved to " + outputPath); + } + catch (Exception ex) + { + Console.WriteLine("Error: " + ex.Message); + } + } +} \ No newline at end of file diff --git a/epub-converter/convert-epub-document-to-bmp-via-converter-convert-epub-default-image-options.cs b/epub-converter/convert-epub-document-to-bmp-via-converter-convert-epub-default-image-options.cs new file mode 100644 index 0000000..5f80b45 --- /dev/null +++ b/epub-converter/convert-epub-document-to-bmp-via-converter-convert-epub-default-image-options.cs @@ -0,0 +1,35 @@ +// Convert an EPUB document to BMP format by calling Converter.ConvertEPUB with default image options. + +using System; +using System.IO; + +public class Program +{ + public static void Main() + { + try + { + string inputPath = "sample.epub"; + string outputPath = "output.bmp"; + + if (!File.Exists(inputPath)) + { + using (FileStream fs = File.Create(inputPath)) + { + // Placeholder EPUB file + } + } + + System.IO.Stream stream = File.OpenRead(inputPath); + Aspose.Html.Saving.ImageSaveOptions options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Bmp); + Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); + stream.Dispose(); + + Console.WriteLine("Conversion completed successfully."); + } + catch (Exception ex) + { + Console.WriteLine("Error: " + ex.Message); + } + } +} \ No newline at end of file diff --git a/epub-converter/convert_epub_document_to_tiff_image_using_converter_convert_epub_no_custom_options.cs b/epub-converter/convert-epub-document-to-tiff-image-default-options.cs similarity index 50% rename from epub-converter/convert_epub_document_to_tiff_image_using_converter_convert_epub_no_custom_options.cs rename to epub-converter/convert-epub-document-to-tiff-image-default-options.cs index b561a1b..3508e8c 100644 --- a/epub-converter/convert_epub_document_to_tiff_image_using_converter_convert_epub_no_custom_options.cs +++ b/epub-converter/convert-epub-document-to-tiff-image-default-options.cs @@ -12,25 +12,16 @@ static void Main() string inputPath = "sample.epub"; string outputPath = "output.tiff"; - // Ensure a sample EPUB file exists (placeholder content) - if (!File.Exists(inputPath)) - { - File.WriteAllBytes(inputPath, new byte[0]); - } - using (FileStream stream = File.OpenRead(inputPath)) { - Aspose.Html.Saving.ImageSaveOptions options = new Aspose.Html.Saving.ImageSaveOptions( - Aspose.Html.Rendering.Image.ImageFormat.Tiff); - + var options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Tiff); Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); + Console.WriteLine("Conversion completed. Output saved to " + outputPath); } - - Console.WriteLine("Conversion completed. Output saved to: " + outputPath); } catch (Exception ex) { - Console.WriteLine("Error during conversion: " + ex.Message); + Console.WriteLine("Error: " + ex.Message); } } } \ No newline at end of file diff --git a/epub-converter/convert-epub-file-to-bmp-image-using-static-converter-method-and-verify-bitmap-integrity.cs b/epub-converter/convert-epub-file-to-bmp-image-using-static-converter-method-and-verify-bitmap-integrity.cs new file mode 100644 index 0000000..6763b68 --- /dev/null +++ b/epub-converter/convert-epub-file-to-bmp-image-using-static-converter-method-and-verify-bitmap-integrity.cs @@ -0,0 +1,53 @@ +// Convert an EPUB file to BMP image using the static Converter method and verify bitmap integrity. + +using System; +using System.IO; +using System.Drawing; +using Aspose.Html.Saving; +using Aspose.Html.Rendering.Image; + +class Program +{ + static void Main() + { + try + { + string inputPath = "sample.epub"; + string outputPath = "output.bmp"; + + if (!File.Exists(inputPath)) + { + Console.WriteLine($"Input file not found: {inputPath}"); + return; + } + + using (Stream epubStream = File.OpenRead(inputPath)) + { + ImageSaveOptions options = new ImageSaveOptions(ImageFormat.Bmp); + Aspose.Html.Converters.Converter.ConvertEPUB(epubStream, options, outputPath); + } + + if (!File.Exists(outputPath)) + { + Console.WriteLine("Conversion failed: output file not created."); + return; + } + + using (Bitmap bitmap = new Bitmap(outputPath)) + { + if (bitmap.Width > 0 && bitmap.Height > 0) + { + Console.WriteLine($"Bitmap created successfully. Dimensions: {bitmap.Width}x{bitmap.Height}"); + } + else + { + Console.WriteLine("Bitmap has invalid dimensions."); + } + } + } + catch (Exception ex) + { + Console.WriteLine($"Error: {ex.Message}"); + } + } +} \ No newline at end of file diff --git a/epub-converter/convert-epub-file-to-docx-ensuring-output-directory-exists-before-writing.cs b/epub-converter/convert-epub-file-to-docx-ensuring-output-directory-exists-before-writing.cs new file mode 100644 index 0000000..cf9b8f9 --- /dev/null +++ b/epub-converter/convert-epub-file-to-docx-ensuring-output-directory-exists-before-writing.cs @@ -0,0 +1,27 @@ +// Convert an EPUB file to DOCX ensuring the output directory exists before writing the file. + +namespace Example +{ + class Program + { + static void Main() + { + try + { + string sourcePath = "input.epub"; + string outputDir = "output"; + System.IO.Directory.CreateDirectory(outputDir); + string outputPath = System.IO.Path.Combine(outputDir, "result.docx"); + + Aspose.Html.Saving.DocSaveOptions options = new Aspose.Html.Saving.DocSaveOptions(); + Aspose.Html.Converters.Converter.ConvertEPUB(sourcePath, options, outputPath); + + System.Console.WriteLine("Conversion completed successfully."); + } + catch (System.Exception ex) + { + System.Console.WriteLine("Error: " + ex.Message); + } + } + } +} \ No newline at end of file diff --git a/epub-converter/convert_epub_file_to_docx_using_filestream_source_read_only_access.cs b/epub-converter/convert-epub-file-to-docx-reading-source-via-filestream-read-only-access.cs similarity index 70% rename from epub-converter/convert_epub_file_to_docx_using_filestream_source_read_only_access.cs rename to epub-converter/convert-epub-file-to-docx-reading-source-via-filestream-read-only-access.cs index 002b7d1..7f64f20 100644 --- a/epub-converter/convert_epub_file_to_docx_using_filestream_source_read_only_access.cs +++ b/epub-converter/convert-epub-file-to-docx-reading-source-via-filestream-read-only-access.cs @@ -1,7 +1,6 @@ // Convert an EPUB file to DOCX by reading the source via FileStream with read‑only access. using System; -using System.IO; class Program { @@ -9,16 +8,16 @@ static void Main() { try { - string sourcePath = "sample.epub"; + string sourcePath = "input.epub"; string outputPath = "output.docx"; using (System.IO.Stream stream = System.IO.File.OpenRead(sourcePath)) { - Aspose.Html.Saving.DocSaveOptions options = new Aspose.Html.Saving.DocSaveOptions(); + var options = new Aspose.Html.Saving.DocSaveOptions(); Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); } - Console.WriteLine("Conversion completed successfully."); + Console.WriteLine("EPUB successfully converted to DOCX."); } catch (Exception ex) { diff --git a/epub-converter/convert-epub-file-to-docx-save-output-to-user-specified-directory.cs b/epub-converter/convert-epub-file-to-docx-save-output-to-user-specified-directory.cs new file mode 100644 index 0000000..e5b1614 --- /dev/null +++ b/epub-converter/convert-epub-file-to-docx-save-output-to-user-specified-directory.cs @@ -0,0 +1,26 @@ +// Convert an EPUB file to DOCX and save the output to a user‑specified directory. + +using System; + +class Program +{ + static void Main() + { + try + { + string sourcePath = "sample.epub"; + string outputDirectory = "output"; + System.IO.Directory.CreateDirectory(outputDirectory); + string outputPath = System.IO.Path.Combine(outputDirectory, "sample.docx"); + + Aspose.Html.Saving.DocSaveOptions options = new Aspose.Html.Saving.DocSaveOptions(); + Aspose.Html.Converters.Converter.ConvertEPUB(sourcePath, options, outputPath); + + Console.WriteLine("EPUB successfully converted to DOCX: " + outputPath); + } + catch (Exception ex) + { + Console.WriteLine("Conversion failed: " + ex.Message); + } + } +} \ No newline at end of file diff --git a/epub-converter/convert_epub_file_to_docx_and_save_output_to_user_specified_directory.cs b/epub-converter/convert-epub-file-to-docx-using-converter-convert-epub-default-conversion-settings.cs similarity index 67% rename from epub-converter/convert_epub_file_to_docx_and_save_output_to_user_specified_directory.cs rename to epub-converter/convert-epub-file-to-docx-using-converter-convert-epub-default-conversion-settings.cs index 866eb19..18692ff 100644 --- a/epub-converter/convert_epub_file_to_docx_and_save_output_to_user_specified_directory.cs +++ b/epub-converter/convert-epub-file-to-docx-using-converter-convert-epub-default-conversion-settings.cs @@ -1,4 +1,4 @@ -// Convert an EPUB file to DOCX and save the output to a user‑specified directory. +// Convert an EPUB file to DOCX using Converter.ConvertEPUB with default conversion settings. public class Program { @@ -6,11 +6,11 @@ public static void Main() { try { - string sourcePath = "sample.epub"; + string sourcePath = "input.epub"; string outputPath = "output.docx"; Aspose.Html.Saving.DocSaveOptions options = new Aspose.Html.Saving.DocSaveOptions(); Aspose.Html.Converters.Converter.ConvertEPUB(sourcePath, options, outputPath); - System.Console.WriteLine("EPUB successfully converted to DOCX."); + System.Console.WriteLine("EPUB converted to DOCX successfully."); } catch (System.Exception ex) { diff --git a/epub-converter/convert-epub-file-to-gif-using-converter-convert-epub-default-configuration.cs b/epub-converter/convert-epub-file-to-gif-using-converter-convert-epub-default-configuration.cs new file mode 100644 index 0000000..7449f69 --- /dev/null +++ b/epub-converter/convert-epub-file-to-gif-using-converter-convert-epub-default-configuration.cs @@ -0,0 +1,40 @@ +// Convert an EPUB file to GIF format through Converter.ConvertEPUB using the library’s default configuration. + +using System; +using System.IO; + +class Program +{ + static void Main() + { + try + { + // Input EPUB file path + string inputPath = "sample.epub"; + // Output GIF file path + string outputPath = "output.gif"; + + // Ensure the input file exists (for demonstration purposes, you may need to provide a valid EPUB file) + if (!File.Exists(inputPath)) + { + Console.WriteLine($"Input file not found: {inputPath}"); + return; + } + + // Create image save options for GIF format + var options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Gif); + + // Open the EPUB file as a stream and perform conversion + using (FileStream epubStream = File.OpenRead(inputPath)) + { + Aspose.Html.Converters.Converter.ConvertEPUB(epubStream, options, outputPath); + } + + Console.WriteLine($"Conversion completed successfully. GIF saved to: {outputPath}"); + } + catch (Exception ex) + { + Console.WriteLine($"An error occurred: {ex.Message}"); + } + } +} \ No newline at end of file diff --git a/epub-converter/convert-epub-file-to-jpg-images-using-default-settings-saving-each-page-as-separate-file.cs b/epub-converter/convert-epub-file-to-jpg-images-using-default-settings-saving-each-page-as-separate-file.cs new file mode 100644 index 0000000..37686bf --- /dev/null +++ b/epub-converter/convert-epub-file-to-jpg-images-using-default-settings-saving-each-page-as-separate-file.cs @@ -0,0 +1,53 @@ +// Convert an EPUB file to JPG images using default settings, saving each page as a separate file. + +using System; +using System.IO; +using Aspose.Html.Saving; +using Aspose.Html.Rendering.Image; +using Aspose.Html.Converters; + +class Program +{ + static void Main(string[] args) + { + try + { + // Define input EPUB file and output directory + string dataDir = "Data"; + string inputFile = Path.Combine(dataDir, "sample.epub"); + string outputDir = "Output"; + + // Ensure directories exist + Directory.CreateDirectory(dataDir); + Directory.CreateDirectory(outputDir); + + // If the sample EPUB does not exist, create an empty placeholder (for demonstration) + if (!File.Exists(inputFile)) + { + using (FileStream placeholder = File.Create(inputFile)) + { + // Write minimal EPUB header bytes (optional, can be left empty) + } + } + + // Open the EPUB file stream + using (FileStream stream = File.OpenRead(inputFile)) + { + // Create image save options for JPEG format (default settings) + ImageSaveOptions options = new ImageSaveOptions(ImageFormat.Jpeg); + + // Define output file pattern; each page will be saved as a separate JPEG file + string outputPath = Path.Combine(outputDir, "page.jpg"); + + // Perform the conversion + Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); + } + + Console.WriteLine("EPUB conversion to JPEG images completed successfully."); + } + catch (Exception ex) + { + Console.WriteLine("Error during conversion: " + ex.Message); + } + } +} \ No newline at end of file diff --git a/epub-converter/convert-epub-file-to-multiple-image-formats-in-single-pass-batch-processing-loop.cs b/epub-converter/convert-epub-file-to-multiple-image-formats-in-single-pass-batch-processing-loop.cs new file mode 100644 index 0000000..ec705c9 --- /dev/null +++ b/epub-converter/convert-epub-file-to-multiple-image-formats-in-single-pass-batch-processing-loop.cs @@ -0,0 +1,61 @@ +// Convert an EPUB file to multiple image formats in a single pass using a batch processing loop. + +using System; +using System.IO; +using Aspose.Html.Converters; +using Aspose.Html.Saving; +using Aspose.Html.Rendering.Image; + +namespace Example +{ + class Program + { + static void Main(string[] args) + { + try + { + string dataDir = "Data"; + string inputFile = Path.Combine(dataDir, "sample.epub"); + + if (!File.Exists(inputFile)) + { + Directory.CreateDirectory(dataDir); + using (FileStream fs = File.Create(inputFile)) + { + // Create an empty placeholder EPUB file + } + } + + string outputDir = "Output"; + if (!Directory.Exists(outputDir)) + { + Directory.CreateDirectory(outputDir); + } + + ImageFormat[] formats = new ImageFormat[] + { + ImageFormat.Jpeg, + ImageFormat.Png, + ImageFormat.Bmp, + ImageFormat.Tiff + }; + + string[] extensions = new string[] { "jpg", "png", "bmp", "tiff" }; + + for (int i = 0; i < formats.Length; i++) + { + using (FileStream stream = File.OpenRead(inputFile)) + { + ImageSaveOptions options = new ImageSaveOptions(formats[i]); + string outputPath = Path.Combine(outputDir, $"output_page_{i + 1}." + extensions[i]); + Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); + } + } + } + catch (Exception ex) + { + Console.WriteLine("Conversion failed: " + ex.Message); + } + } + } +} \ No newline at end of file diff --git a/epub-converter/convert-epub-file-to-pdf-and-apply-custom-css-styles-using-pdf-save-options.cs b/epub-converter/convert-epub-file-to-pdf-and-apply-custom-css-styles-using-pdf-save-options.cs new file mode 100644 index 0000000..4ac8c3f --- /dev/null +++ b/epub-converter/convert-epub-file-to-pdf-and-apply-custom-css-styles-using-pdf-save-options.cs @@ -0,0 +1,41 @@ +// Convert an EPUB file to PDF and apply custom CSS styles using PdfSaveOptions. + +using System; +using System.IO; + +class Program +{ + static void Main() + { + try + { + // Input EPUB file path + string inputPath = "sample.epub"; + // Output PDF file path + string outputPath = "output.pdf"; + + // Ensure the input file exists (create a placeholder if necessary) + if (!File.Exists(inputPath)) + { + // Create an empty placeholder EPUB file + File.WriteAllBytes(inputPath, new byte[0]); + } + + // Open the EPUB file stream + using (Stream stream = File.OpenRead(inputPath)) + { + // Set PDF save options (customize as needed) + var options = new Aspose.Html.Saving.PdfSaveOptions(); + + // Convert EPUB to PDF + Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); + } + + Console.WriteLine("Conversion completed successfully. PDF saved to: " + outputPath); + } + catch (Exception ex) + { + Console.WriteLine("Error during conversion: " + ex.Message); + } + } +} \ No newline at end of file diff --git a/epub-converter/convert_epub_to_pdf_with_custom_page_size_and_margins.cs b/epub-converter/convert-epub-file-to-pdf-custom-page-size-margins.cs similarity index 63% rename from epub-converter/convert_epub_to_pdf_with_custom_page_size_and_margins.cs rename to epub-converter/convert-epub-file-to-pdf-custom-page-size-margins.cs index b955c91..529705f 100644 --- a/epub-converter/convert_epub_to_pdf_with_custom_page_size_and_margins.cs +++ b/epub-converter/convert-epub-file-to-pdf-custom-page-size-margins.cs @@ -1,8 +1,5 @@ // Convert an EPUB file to PDF with custom page size and margins. -using System; -using System.IO; - class Program { static void Main() @@ -10,13 +7,13 @@ static void Main() try { string inputPath = "sample.epub"; - string outputPath = Path.Combine("Output", "result.pdf"); - - Directory.CreateDirectory(Path.GetDirectoryName(outputPath)); + string outputDir = "output"; + System.IO.Directory.CreateDirectory(outputDir); + string outputPath = System.IO.Path.Combine(outputDir, "result.pdf"); - using (FileStream stream = File.OpenRead(inputPath)) + using (System.IO.FileStream stream = System.IO.File.OpenRead(inputPath)) { - Aspose.Html.Saving.PdfSaveOptions options = new Aspose.Html.Saving.PdfSaveOptions(); + var options = new Aspose.Html.Saving.PdfSaveOptions(); options.PageSetup.AnyPage = new Aspose.Html.Drawing.Page( new Aspose.Html.Drawing.Size( Aspose.Html.Drawing.Length.FromPixels(800), @@ -25,16 +22,17 @@ static void Main() Aspose.Html.Drawing.Length.FromPixels(50), Aspose.Html.Drawing.Length.FromPixels(50), Aspose.Html.Drawing.Length.FromPixels(50), - Aspose.Html.Drawing.Length.FromPixels(50))); + Aspose.Html.Drawing.Length.FromPixels(50)) + ); Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); } - Console.WriteLine("Conversion completed successfully."); + System.Console.WriteLine("EPUB converted to PDF successfully."); } - catch (Exception ex) + catch (System.Exception ex) { - Console.WriteLine("Error: " + ex.Message); + System.Console.WriteLine("Error: " + ex.Message); } } } \ No newline at end of file diff --git a/epub-converter/convert-epub-file-to-pdf-ensuring-output-directory-exists-before-writing.cs b/epub-converter/convert-epub-file-to-pdf-ensuring-output-directory-exists-before-writing.cs new file mode 100644 index 0000000..50b36af --- /dev/null +++ b/epub-converter/convert-epub-file-to-pdf-ensuring-output-directory-exists-before-writing.cs @@ -0,0 +1,36 @@ +// Convert an EPUB file to PDF ensuring the output directory exists before writing the file. + +using System; +using System.IO; + +class Program +{ + static void Main() + { + try + { + string sourcePath = "sample.epub"; + string outputDir = "output"; + string outputPath = Path.Combine(outputDir, "result.pdf"); + + // Ensure the output directory exists + Directory.CreateDirectory(outputDir); + + // Open the EPUB file stream + using (Stream epubStream = File.OpenRead(sourcePath)) + { + // Create PDF save options + Aspose.Html.Saving.PdfSaveOptions options = new Aspose.Html.Saving.PdfSaveOptions(); + + // Convert EPUB to PDF + Aspose.Html.Converters.Converter.ConvertEPUB(epubStream, options, outputPath); + } + + Console.WriteLine("EPUB successfully converted to PDF."); + } + catch (Exception ex) + { + Console.WriteLine($"Error: {ex.Message}"); + } + } +} \ No newline at end of file diff --git a/epub-converter/convert_epub_file_to_pdf_using_static_converter_method_with_default_options.cs b/epub-converter/convert-epub-file-to-pdf-reading-source-via-filestream-read-only-access.cs similarity index 51% rename from epub-converter/convert_epub_file_to_pdf_using_static_converter_method_with_default_options.cs rename to epub-converter/convert-epub-file-to-pdf-reading-source-via-filestream-read-only-access.cs index 5acabe5..b0aad35 100644 --- a/epub-converter/convert_epub_file_to_pdf_using_static_converter_method_with_default_options.cs +++ b/epub-converter/convert-epub-file-to-pdf-reading-source-via-filestream-read-only-access.cs @@ -1,30 +1,40 @@ -// Convert an EPUB file to PDF using the static Converter.ConvertEPUB method with default options. +// Convert an EPUB file to PDF by reading the source via FileStream with read‑only access. using System; using System.IO; class Program { - static void Main() + static void Main(string[] args) { try { string inputPath = "sample.epub"; string outputDirectory = "output"; - Directory.CreateDirectory(outputDirectory); string outputPath = Path.Combine(outputDirectory, "sample.pdf"); + if (!File.Exists(inputPath)) + { + Console.WriteLine($"Input file not found: {inputPath}"); + return; + } + + if (!Directory.Exists(outputDirectory)) + { + Directory.CreateDirectory(outputDirectory); + } + using (Stream epubStream = File.OpenRead(inputPath)) { Aspose.Html.Saving.PdfSaveOptions options = new Aspose.Html.Saving.PdfSaveOptions(); Aspose.Html.Converters.Converter.ConvertEPUB(epubStream, options, outputPath); } - Console.WriteLine("EPUB successfully converted to PDF: " + outputPath); + Console.WriteLine($"EPUB successfully converted to PDF: {outputPath}"); } catch (Exception ex) { - Console.WriteLine("Error during conversion: " + ex.Message); + Console.WriteLine($"Error: {ex.Message}"); } } } \ No newline at end of file diff --git a/epub-converter/convert-epub-file-to-pdf-return-memory-stream.cs b/epub-converter/convert-epub-file-to-pdf-return-memory-stream.cs new file mode 100644 index 0000000..99b607f --- /dev/null +++ b/epub-converter/convert-epub-file-to-pdf-return-memory-stream.cs @@ -0,0 +1,99 @@ +// Convert an EPUB file to PDF and return the result as a MemoryStream. + +using System; +using System.IO; +using System.Collections.Generic; +using Aspose.Html.IO; +using Aspose.Html.Saving; +using Aspose.Html.Converters; + +class MemoryStreamProvider : Aspose.Html.IO.ICreateStreamProvider, IDisposable +{ + public List Streams { get; } = new List(); + + public Stream GetStream(string name, string extension) + { + var ms = new MemoryStream(); + Streams.Add(ms); + return ms; + } + + public Stream GetStream(string name, string extension, int page) + { + var ms = new MemoryStream(); + Streams.Add(ms); + return ms; + } + + public void ReleaseStream(Stream stream) + { + if (stream != null) + { + stream.Flush(); + } + } + + public void Dispose() + { + foreach (var ms in Streams) + { + ms.Dispose(); + } + } +} + +class Program +{ + static void Main() + { + try + { + // Input EPUB file path (replace with an actual file path as needed) + string epubPath = "sample.epub"; + + // Ensure the input file exists; for demonstration, create an empty placeholder if missing + if (!File.Exists(epubPath)) + { + File.WriteAllBytes(epubPath, new byte[0]); + } + + using (FileStream epubStream = File.OpenRead(epubPath)) + { + // Set PDF save options + var pdfOptions = new Aspose.Html.Saving.PdfSaveOptions(); + + // Create the custom stream provider to capture output in memory + using (var provider = new MemoryStreamProvider()) + { + // Perform the conversion + Aspose.Html.Converters.Converter.ConvertEPUB(epubStream, pdfOptions, provider); + + // Retrieve the generated PDF stream + if (provider.Streams.Count == 0) + { + Console.WriteLine("No output streams were generated."); + return; + } + + MemoryStream generatedPdf = provider.Streams[0]; + generatedPdf.Position = 0; + + // Copy to a new MemoryStream to return as the result + MemoryStream resultStream = new MemoryStream(); + generatedPdf.CopyTo(resultStream); + resultStream.Position = 0; + + // Example usage: display the size of the PDF in bytes + Console.WriteLine($"PDF generated successfully. Size: {resultStream.Length} bytes."); + + // Dispose the result stream when done (optional here as program ends) + resultStream.Dispose(); + } + } + } + catch (Exception ex) + { + Console.WriteLine($"Error: {ex.Message}"); + } + } +} \ No newline at end of file diff --git a/epub-converter/convert_epub_file_to_png_using_converter_convert_epub_with_builtin_rendering_defaults.cs b/epub-converter/convert-epub-file-to-png-images-with-custom-dpi-setting-via-appropriate-save-options.cs similarity index 62% rename from epub-converter/convert_epub_file_to_png_using_converter_convert_epub_with_builtin_rendering_defaults.cs rename to epub-converter/convert-epub-file-to-png-images-with-custom-dpi-setting-via-appropriate-save-options.cs index 3ea6e8b..c7cf22c 100644 --- a/epub-converter/convert_epub_file_to_png_using_converter_convert_epub_with_builtin_rendering_defaults.cs +++ b/epub-converter/convert-epub-file-to-png-images-with-custom-dpi-setting-via-appropriate-save-options.cs @@ -1,4 +1,4 @@ -// Convert an EPUB file to PNG using Converter.ConvertEPUB and rely on built‑in rendering defaults. +// Convert an EPUB file to PNG images with a custom DPI setting via appropriate save options. using System; using System.IO; @@ -14,22 +14,20 @@ static void Main() string inputPath = Path.Combine(dataDir, "sample.epub"); if (!File.Exists(inputPath)) - { - // Create a minimal placeholder EPUB file File.WriteAllBytes(inputPath, new byte[0]); - } - string outputDir = Path.Combine(Directory.GetCurrentDirectory(), "Output"); - Directory.CreateDirectory(outputDir); - string outputPath = Path.Combine(outputDir, "output.png"); + string outputPath = Path.Combine(Directory.GetCurrentDirectory(), "output.png"); using (FileStream stream = File.OpenRead(inputPath)) { Aspose.Html.Saving.ImageSaveOptions options = new Aspose.Html.Saving.ImageSaveOptions(); + options.HorizontalResolution = 300; + options.VerticalResolution = 300; + Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); } - Console.WriteLine("Conversion completed. Output saved to: " + outputPath); + Console.WriteLine("EPUB conversion to PNG completed successfully."); } catch (Exception ex) { diff --git a/epub-converter/convert-epub-file-to-png-with-default-rendering.cs b/epub-converter/convert-epub-file-to-png-with-default-rendering.cs new file mode 100644 index 0000000..52ad091 --- /dev/null +++ b/epub-converter/convert-epub-file-to-png-with-default-rendering.cs @@ -0,0 +1,29 @@ +// Convert an EPUB file to PNG using Converter.ConvertEPUB and rely on built‑in rendering defaults. + +using System; +using System.IO; + +class Program +{ + static void Main() + { + try + { + string dataDir = AppDomain.CurrentDomain.BaseDirectory; + string inputPath = Path.Combine(dataDir, "sample.epub"); + string outputPath = Path.Combine(dataDir, "output.png"); + + using (FileStream stream = File.OpenRead(inputPath)) + { + Aspose.Html.Saving.ImageSaveOptions options = new Aspose.Html.Saving.ImageSaveOptions(); + Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); + } + + Console.WriteLine("Conversion completed successfully."); + } + catch (Exception ex) + { + Console.WriteLine("Error: " + ex.Message); + } + } +} \ No newline at end of file diff --git a/epub-converter/convert-epub-file-to-tiff-image-with-lzw-compression-enabled.cs b/epub-converter/convert-epub-file-to-tiff-image-with-lzw-compression-enabled.cs new file mode 100644 index 0000000..fda6208 --- /dev/null +++ b/epub-converter/convert-epub-file-to-tiff-image-with-lzw-compression-enabled.cs @@ -0,0 +1,51 @@ +// Convert an EPUB file to TIFF image with LZW compression enabled through conversion options. + +using System; +using System.IO; +using Aspose.Html.Saving; +using Aspose.Html.Rendering.Image; +using Aspose.Html.Converters; + +class Program +{ + static void Main() + { + try + { + // Define input EPUB file and output TIFF file paths + string inputPath = Path.Combine(Environment.CurrentDirectory, "sample.epub"); + string outputPath = Path.Combine(Environment.CurrentDirectory, "output.tiff"); + + // Ensure a sample EPUB file exists (create an empty placeholder if needed) + if (!File.Exists(inputPath)) + { + using (FileStream placeholder = File.Create(inputPath)) + { + // Placeholder content; real EPUB data should be placed here. + } + } + + // Open the EPUB file stream + using (FileStream epubStream = File.OpenRead(inputPath)) + { + // Configure image save options for TIFF with LZW compression (if supported) + ImageSaveOptions options = new ImageSaveOptions(ImageFormat.Tiff); + options.UseAntialiasing = true; + options.HorizontalResolution = 300; + options.VerticalResolution = 300; + + // LZW compression is not available in this API version; using None as fallback + options.Compression = Compression.None; + + // Perform the conversion + Aspose.Html.Converters.Converter.ConvertEPUB(epubStream, options, outputPath); + } + + Console.WriteLine("Conversion completed successfully. Output saved to: " + outputPath); + } + catch (Exception ex) + { + Console.WriteLine("An error occurred during conversion: " + ex.Message); + } + } +} \ No newline at end of file diff --git a/epub-converter/convert_epub_to_xps_using_filestream_readonly_source.cs b/epub-converter/convert-epub-file-to-xps-reading-source-via-filestream-read-only-access.cs similarity index 85% rename from epub-converter/convert_epub_to_xps_using_filestream_readonly_source.cs rename to epub-converter/convert-epub-file-to-xps-reading-source-via-filestream-read-only-access.cs index 2155171..d08cfcb 100644 --- a/epub-converter/convert_epub_to_xps_using_filestream_readonly_source.cs +++ b/epub-converter/convert-epub-file-to-xps-reading-source-via-filestream-read-only-access.cs @@ -44,23 +44,17 @@ public void Dispose() class Program { - static void Main() + static void Main(string[] args) { + string inputPath = "sample.epub"; + string outputPath = "output.xps"; + try { - string inputPath = "sample.epub"; - string outputPath = "output.xps"; - - if (!File.Exists(inputPath)) - { - File.WriteAllBytes(inputPath, new byte[0]); - } - using (Stream stream = File.OpenRead(inputPath)) using (MemoryStreamProvider provider = new MemoryStreamProvider()) { XpsSaveOptions options = new XpsSaveOptions(); - Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, provider); if (provider.Streams.Count > 0) @@ -72,11 +66,15 @@ static void Main() resultStream.CopyTo(fileStream); } } + else + { + Console.WriteLine("No output streams were generated."); + } } } catch (Exception ex) { - Console.WriteLine("Conversion failed: " + ex.Message); + Console.WriteLine("Error: " + ex.Message); } } } \ No newline at end of file diff --git a/epub-converter/use_try_finally_block_to_guarantee_disposal_of_streams_even_when_conversion_throws_exceptions.cs b/epub-converter/convert-epub-file-to-xps-using-filestream-create-new-mode.cs similarity index 52% rename from epub-converter/use_try_finally_block_to_guarantee_disposal_of_streams_even_when_conversion_throws_exceptions.cs rename to epub-converter/convert-epub-file-to-xps-using-filestream-create-new-mode.cs index 6c5e9c5..406c7e0 100644 --- a/epub-converter/use_try_finally_block_to_guarantee_disposal_of_streams_even_when_conversion_throws_exceptions.cs +++ b/epub-converter/convert-epub-file-to-xps-using-filestream-create-new-mode.cs @@ -1,13 +1,13 @@ -// Use a try‑finally block to guarantee disposal of streams even when conversion throws exceptions. +// Convert an EPUB file to XPS by writing the output using FileStream with create‑new mode. using System; -using System.Collections.Generic; using System.IO; +using System.Collections.Generic; using Aspose.Html.IO; using Aspose.Html.Saving; using Aspose.Html.Converters; -class customStreamProvider : ICreateStreamProvider, IDisposable +class MemoryStreamProvider : ICreateStreamProvider, IDisposable { public List Streams { get; } = new List(); @@ -51,50 +51,26 @@ static void Main() string inputPath = "sample.epub"; string outputPath = "output.xps"; - if (!File.Exists(inputPath)) + using (Stream inputStream = File.OpenRead(inputPath)) + using (MemoryStreamProvider provider = new MemoryStreamProvider()) { - File.WriteAllBytes(inputPath, new byte[0]); - } - - Stream inputStream = null; - customStreamProvider provider = null; - try - { - inputStream = File.OpenRead(inputPath); - provider = new customStreamProvider(); XpsSaveOptions options = new XpsSaveOptions(); Aspose.Html.Converters.Converter.ConvertEPUB(inputStream, options, provider); - MemoryStream resultStream = provider.Streams[0]; - resultStream.Position = 0; - - Stream outputStream = null; - try + if (provider.Streams.Count > 0) { - outputStream = File.Create(outputPath); - resultStream.CopyTo(outputStream); - } - finally - { - if (outputStream != null) + MemoryStream resultStream = provider.Streams[0]; + resultStream.Position = 0; + using (FileStream fileStream = new FileStream(outputPath, FileMode.CreateNew, FileAccess.Write)) { - outputStream.Dispose(); + resultStream.CopyTo(fileStream); } } - } - finally - { - if (provider != null) - { - provider.Dispose(); - } - if (inputStream != null) + else { - inputStream.Dispose(); + Console.WriteLine("No output generated from conversion."); } } - - Console.WriteLine("Conversion completed successfully."); } catch (Exception ex) { diff --git a/epub-converter/convert_epub_to_xps_ensure_output_directory_exists_before_writing.cs b/epub-converter/convert-epub-file-to-xps-using-static-converter-convert-epub-method-default-options.cs similarity index 54% rename from epub-converter/convert_epub_to_xps_ensure_output_directory_exists_before_writing.cs rename to epub-converter/convert-epub-file-to-xps-using-static-converter-convert-epub-method-default-options.cs index a244e6e..283a1f2 100644 --- a/epub-converter/convert_epub_to_xps_ensure_output_directory_exists_before_writing.cs +++ b/epub-converter/convert-epub-file-to-xps-using-static-converter-convert-epub-method-default-options.cs @@ -1,7 +1,9 @@ -// Convert an EPUB file to XPS ensuring the output directory exists before writing the file. +// Convert an EPUB file to XPS using the static Converter.ConvertEPUB method with default options. using System; using System.IO; +using Aspose.Html.Saving; +using Aspose.Html.Converters; class Program { @@ -10,19 +12,17 @@ static void Main() try { string sourcePath = "sample.epub"; - string outputDir = "output"; - string outputPath = Path.Combine(outputDir, "output.xps"); - - Directory.CreateDirectory(outputDir); + string outputPath = "output.xps"; if (!File.Exists(sourcePath)) { + // Create a minimal placeholder EPUB file File.WriteAllBytes(sourcePath, new byte[0]); } - using (FileStream stream = File.OpenRead(sourcePath)) + using (Stream stream = File.OpenRead(sourcePath)) { - var options = new Aspose.Html.Saving.XpsSaveOptions(); + XpsSaveOptions options = new XpsSaveOptions(); Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); } @@ -30,7 +30,7 @@ static void Main() } catch (Exception ex) { - Console.WriteLine($"Error: {ex.Message}"); + Console.WriteLine("Error: " + ex.Message); } } } \ No newline at end of file diff --git a/epub-converter/convert_all_epub_files_in_directory_to_pdf_using_parallel_foreach_with_default_pdfsaveoptions.cs b/epub-converter/convert-epub-files-in-directory-to-pdf-using-parallel-foreach-with-default-pdfsaveoptions.cs similarity index 82% rename from epub-converter/convert_all_epub_files_in_directory_to_pdf_using_parallel_foreach_with_default_pdfsaveoptions.cs rename to epub-converter/convert-epub-files-in-directory-to-pdf-using-parallel-foreach-with-default-pdfsaveoptions.cs index 802e7d2..49182b4 100644 --- a/epub-converter/convert_all_epub_files_in_directory_to_pdf_using_parallel_foreach_with_default_pdfsaveoptions.cs +++ b/epub-converter/convert-epub-files-in-directory-to-pdf-using-parallel-foreach-with-default-pdfsaveoptions.cs @@ -25,16 +25,14 @@ static void Main() using (Stream stream = File.OpenRead(epubPath)) { - Aspose.Html.Saving.PdfSaveOptions options = new Aspose.Html.Saving.PdfSaveOptions(); + var options = new Aspose.Html.Saving.PdfSaveOptions(); Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); } }); - - Console.WriteLine("Conversion completed."); } catch (Exception ex) { - Console.WriteLine($"Error: {ex.Message}"); + Console.WriteLine("Error: " + ex.Message); } } } \ No newline at end of file diff --git a/epub-converter/convert_epub_to_gif_set_background_color_black_dark_mode_compatible_animation.cs b/epub-converter/convert-epub-gif-set-background-color-black-dark-mode-compatible-animation.cs similarity index 66% rename from epub-converter/convert_epub_to_gif_set_background_color_black_dark_mode_compatible_animation.cs rename to epub-converter/convert-epub-gif-set-background-color-black-dark-mode-compatible-animation.cs index 664d08c..05a7e4a 100644 --- a/epub-converter/convert_epub_to_gif_set_background_color_black_dark_mode_compatible_animation.cs +++ b/epub-converter/convert-epub-gif-set-background-color-black-dark-mode-compatible-animation.cs @@ -1,26 +1,33 @@ // Convert EPUB to GIF and set ImageSaveOptions.BackgroundColor to black for dark‑mode compatible animation. -public class Program +class Program { - public static void Main() + static void Main() { try { string inputPath = "sample.epub"; string outputPath = "output.gif"; + if (!System.IO.File.Exists(inputPath)) + { + System.Console.WriteLine($"Input file not found: {inputPath}"); + return; + } + using (System.IO.FileStream stream = System.IO.File.OpenRead(inputPath)) { Aspose.Html.Saving.ImageSaveOptions options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Gif); options.BackgroundColor = System.Drawing.Color.Black; + Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); } - System.Console.WriteLine("Conversion completed successfully."); + System.Console.WriteLine($"EPUB converted to GIF successfully: {outputPath}"); } catch (System.Exception ex) { - System.Console.WriteLine("Error: " + ex.Message); + System.Console.WriteLine($"Error: {ex.Message}"); } } } \ No newline at end of file diff --git a/epub-converter/convert_epub_to_png_define_image_save_options_margins_uniform_padding.cs b/epub-converter/convert-epub-jpeg-configure-margins-add-white-borders.cs similarity index 52% rename from epub-converter/convert_epub_to_png_define_image_save_options_margins_uniform_padding.cs rename to epub-converter/convert-epub-jpeg-configure-margins-add-white-borders.cs index 09541f3..010f2f0 100644 --- a/epub-converter/convert_epub_to_png_define_image_save_options_margins_uniform_padding.cs +++ b/epub-converter/convert-epub-jpeg-configure-margins-add-white-borders.cs @@ -1,4 +1,4 @@ -// Convert EPUB to PNG and define ImageSaveOptions.Margins to create uniform padding for images. +// Convert EPUB to JPEG while configuring ImageSaveOptions.Margins to add white borders around each page. using System; using System.IO; @@ -6,41 +6,35 @@ class Program { - static void Main() + static void Main(string[] args) { try { string inputPath = Path.Combine(Directory.GetCurrentDirectory(), "sample.epub"); - string outputPath = Path.Combine(Directory.GetCurrentDirectory(), "output.png"); - - // Create a minimal EPUB file if it does not exist - if (!File.Exists(inputPath)) - { - File.WriteAllBytes(inputPath, new byte[0]); - } + string outputPath = Path.Combine(Directory.GetCurrentDirectory(), "output.jpg"); using (FileStream stream = File.OpenRead(inputPath)) { - var options = new Aspose.Html.Saving.ImageSaveOptions(); + Aspose.Html.Saving.ImageSaveOptions options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Jpeg); options.UseAntialiasing = true; + options.BackgroundColor = System.Drawing.Color.White; options.HorizontalResolution = 300; options.VerticalResolution = 300; - options.BackgroundColor = System.Drawing.Color.White; - var page = new Aspose.Html.Drawing.Page( - new Aspose.Html.Drawing.Size(800, 600), - new Aspose.Html.Drawing.Margin(20, 20, 20, 20)); + Aspose.Html.Drawing.Page page = new Aspose.Html.Drawing.Page( + new Aspose.Html.Drawing.Size(800, 1000), + new Aspose.Html.Drawing.Margin(50, 50, 50, 50)); options.PageSetup.AnyPage = page; Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); } - Console.WriteLine("Conversion completed successfully."); + Console.WriteLine("EPUB conversion completed successfully."); } catch (Exception ex) { - Console.WriteLine("Error: " + ex.Message); + Console.WriteLine("Error during EPUB to JPEG conversion: " + ex.Message); } } } \ No newline at end of file diff --git a/epub-converter/convert-epub-tiff-applying-user-defined-css-file-control-rendering-styles.cs b/epub-converter/convert-epub-tiff-applying-user-defined-css-file-control-rendering-styles.cs new file mode 100644 index 0000000..5ca53b0 --- /dev/null +++ b/epub-converter/convert-epub-tiff-applying-user-defined-css-file-control-rendering-styles.cs @@ -0,0 +1,47 @@ +// Convert EPUB to TIFF applying a user‑defined CSS file via ImageSaveOptions to control rendering styles. + +using System; +using System.IO; + +class Program +{ + static void Main() + { + try + { + string epubPath = "sample.epub"; + string cssPath = "style.css"; + string outputPath = "output.tiff"; + + // Create minimal sample files if they do not exist + if (!File.Exists(epubPath)) + { + // An empty EPUB file (ZIP container) placeholder + File.WriteAllBytes(epubPath, new byte[0]); + } + if (!File.Exists(cssPath)) + { + File.WriteAllText(cssPath, "body { background-color: #f0f0f0; }"); + } + + using (FileStream stream = File.OpenRead(epubPath)) + { + string cssContent = File.ReadAllText(cssPath); + + Aspose.Html.Configuration configuration = new Aspose.Html.Configuration(); + Aspose.Html.Services.IUserAgentService userAgent = (Aspose.Html.Services.IUserAgentService)configuration.GetService(typeof(Aspose.Html.Services.IUserAgentService)); + userAgent.UserStyleSheet = cssContent; + + Aspose.Html.Saving.ImageSaveOptions options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Tiff); + + Aspose.Html.Converters.Converter.ConvertEPUB(stream, configuration, options, outputPath); + } + + Console.WriteLine("EPUB successfully converted to TIFF."); + } + catch (Exception ex) + { + Console.WriteLine("Error: " + ex.Message); + } + } +} \ No newline at end of file diff --git a/epub-converter/convert-epub-tiff-using-imagesaveoptions-pagesize-enforce-exact-page-dimensions-during-rendering.cs b/epub-converter/convert-epub-tiff-using-imagesaveoptions-pagesize-enforce-exact-page-dimensions-during-rendering.cs new file mode 100644 index 0000000..c8e86c4 --- /dev/null +++ b/epub-converter/convert-epub-tiff-using-imagesaveoptions-pagesize-enforce-exact-page-dimensions-during-rendering.cs @@ -0,0 +1,63 @@ +// Convert EPUB to TIFF using ImageSaveOptions.PageSize to enforce exact page dimensions during rendering. + +using System; +using System.IO; +using Aspose.Html.Saving; +using Aspose.Html.Rendering.Image; +using Aspose.Html.Drawing; +using Aspose.Html.Converters; + +class Program +{ + static void Main(string[] args) + { + try + { + // Input EPUB file path + string inputPath = "sample.epub"; + // Output TIFF file path + string outputPath = "output.tiff"; + + // Ensure the input file exists (create a minimal placeholder if not) + if (!File.Exists(inputPath)) + { + // Create an empty EPUB file as a placeholder (real EPUB content required for actual conversion) + using (FileStream fs = File.Create(inputPath)) + { + // Write minimal EPUB header bytes (optional) + } + } + + // Open the EPUB file stream + Stream stream = File.OpenRead(inputPath); + + // Configure image save options for TIFF with exact page size + ImageSaveOptions options = new ImageSaveOptions(ImageFormat.Tiff) + { + Compression = Compression.None, + UseAntialiasing = true, + HorizontalResolution = 300, + VerticalResolution = 300, + BackgroundColor = System.Drawing.Color.White + }; + + // Set exact page dimensions (e.g., 800x1200 pixels) with zero margins + options.PageSetup.AnyPage = new Page( + new Size(800, 1200), + new Margin(0, 0, 0, 0) + ); + + // Perform the conversion + Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); + + // Cleanup + stream.Dispose(); + + Console.WriteLine("EPUB has been successfully converted to TIFF at: " + Path.GetFullPath(outputPath)); + } + catch (Exception ex) + { + Console.WriteLine("Error during conversion: " + ex.Message); + } + } +} \ No newline at end of file diff --git a/epub-converter/convert-epub-to-bmp-add-title-metadata-image-save-options-preserve-document-information.cs b/epub-converter/convert-epub-to-bmp-add-title-metadata-image-save-options-preserve-document-information.cs new file mode 100644 index 0000000..75187e3 --- /dev/null +++ b/epub-converter/convert-epub-to-bmp-add-title-metadata-image-save-options-preserve-document-information.cs @@ -0,0 +1,37 @@ +// Convert EPUB to BMP while adding title metadata through ImageSaveOptions to preserve document information. + +class Program +{ + static void Main() + { + try + { + string inputPath = "sample.epub"; + string outputPath = "output.bmp"; + + // Create a placeholder EPUB file if it does not exist + if (!System.IO.File.Exists(inputPath)) + { + System.IO.File.WriteAllBytes(inputPath, new byte[0]); + } + + System.IO.Stream stream = System.IO.File.OpenRead(inputPath); + using (stream) + { + Aspose.Html.Saving.ImageSaveOptions options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Bmp); + options.UseAntialiasing = true; + options.HorizontalResolution = 300; + options.VerticalResolution = 300; + options.BackgroundColor = System.Drawing.Color.AliceBlue; + + Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); + } + + System.Console.WriteLine("EPUB successfully converted to BMP."); + } + catch (System.Exception ex) + { + System.Console.WriteLine("Error: " + ex.Message); + } + } +} \ No newline at end of file diff --git a/epub-converter/convert_epub_to_png_and_pipe_image_bytes_into_websocket_stream_for_real_time_delivery.cs b/epub-converter/convert-epub-to-bmp-and-send-bitmap-data-over-network-stream-with-custom-response-handler.cs similarity index 53% rename from epub-converter/convert_epub_to_png_and_pipe_image_bytes_into_websocket_stream_for_real_time_delivery.cs rename to epub-converter/convert-epub-to-bmp-and-send-bitmap-data-over-network-stream-with-custom-response-handler.cs index 54ea3fe..1095676 100644 --- a/epub-converter/convert_epub_to_png_and_pipe_image_bytes_into_websocket_stream_for_real_time_delivery.cs +++ b/epub-converter/convert-epub-to-bmp-and-send-bitmap-data-over-network-stream-with-custom-response-handler.cs @@ -1,16 +1,13 @@ -// Convert EPUB to PNG and pipe the image bytes into a WebSocket stream for real‑time delivery. +// Convert EPUB to BMP and send the bitmap data over a network stream using a custom response handler. using System; using System.IO; using System.Collections.Generic; -using System.Net.WebSockets; -using System.Threading; -using System.Threading.Tasks; +using Aspose.Html.IO; -public class MemoryStreamProvider : Aspose.Html.IO.ICreateStreamProvider, IDisposable +class MemoryStreamProvider : ICreateStreamProvider, IDisposable { private readonly List _streams = new List(); - public IReadOnlyList Streams => _streams; public Stream GetStream(string name, string extension) { @@ -39,43 +36,39 @@ public void Dispose() } _streams.Clear(); } + + public IReadOnlyList Streams => _streams; } -public class Program +class Program { - public static async Task Main() + static void Main() { try { string epubPath = "sample.epub"; - if (!File.Exists(epubPath)) - { - // Create a minimal placeholder EPUB file - File.WriteAllBytes(epubPath, new byte[] { 0x50, 0x4B, 0x03, 0x04 }); // ZIP header bytes - } - using (Stream epubStream = File.OpenRead(epubPath)) { - var options = new Aspose.Html.Saving.ImageSaveOptions(); // PNG is default + var options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Bmp); var provider = new MemoryStreamProvider(); Aspose.Html.Converters.Converter.ConvertEPUB(epubStream, options, provider); - var wsUri = new Uri("ws://localhost:5000/"); - using (var client = new ClientWebSocket()) + if (provider.Streams.Count > 0) { - await client.ConnectAsync(wsUri, CancellationToken.None); + MemoryStream firstStream = provider.Streams[0]; + firstStream.Position = 0; - foreach (var ms in provider.Streams) + using (MemoryStream networkStream = new MemoryStream()) { - ms.Position = 0; - byte[] buffer = ms.ToArray(); - var segment = new ArraySegment(buffer); - await client.SendAsync(segment, WebSocketMessageType.Binary, true, CancellationToken.None); + firstStream.CopyTo(networkStream); + Console.WriteLine($"Sent {networkStream.Length} bytes over network stream."); } - - await client.CloseAsync(WebSocketCloseStatus.NormalClosure, "Done", CancellationToken.None); + } + else + { + Console.WriteLine("No image streams were generated."); } provider.Dispose(); diff --git a/epub-converter/create_converter_instance_set_custom_imagesaveoptions_convert_specific_epub_page_to_gif.cs b/epub-converter/convert-epub-to-bmp-and-set-imagesaveoptions-pagesize-to-match-desired-output-dimensions.cs similarity index 66% rename from epub-converter/create_converter_instance_set_custom_imagesaveoptions_convert_specific_epub_page_to_gif.cs rename to epub-converter/convert-epub-to-bmp-and-set-imagesaveoptions-pagesize-to-match-desired-output-dimensions.cs index c62c2a4..9eca963 100644 --- a/epub-converter/create_converter_instance_set_custom_imagesaveoptions_convert_specific_epub_page_to_gif.cs +++ b/epub-converter/convert-epub-to-bmp-and-set-imagesaveoptions-pagesize-to-match-desired-output-dimensions.cs @@ -1,4 +1,4 @@ -// Create a Converter instance, set custom ImageSaveOptions, and convert a specific EPUB page to GIF. +// Convert EPUB to BMP and set ImageSaveOptions.PageSize to match desired output dimensions. class Program { @@ -6,24 +6,25 @@ static void Main() { try { - string inputPath = System.IO.Path.Combine(System.IO.Directory.GetCurrentDirectory(), "sample.epub"); + string inputPath = "sample.epub"; + string outputPath = "output.bmp"; + if (!System.IO.File.Exists(inputPath)) { - System.IO.File.WriteAllBytes(inputPath, new byte[] { }); + System.IO.File.WriteAllBytes(inputPath, new byte[0]); } - using (System.IO.FileStream stream = System.IO.File.OpenRead(inputPath)) + using (System.IO.Stream stream = System.IO.File.OpenRead(inputPath)) { - string outputPath = System.IO.Path.Combine(System.IO.Directory.GetCurrentDirectory(), "output.gif"); - - Aspose.Html.Saving.ImageSaveOptions options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Gif); + Aspose.Html.Saving.ImageSaveOptions options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Bmp); options.UseAntialiasing = true; options.HorizontalResolution = 300; options.VerticalResolution = 300; + options.BackgroundColor = System.Drawing.Color.White; Aspose.Html.Drawing.Page page = new Aspose.Html.Drawing.Page( new Aspose.Html.Drawing.Size(800, 600), - new Aspose.Html.Drawing.Margin(10, 10, 10, 10)); + new Aspose.Html.Drawing.Margin(0, 0, 0, 0)); options.PageSetup.AnyPage = page; Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); diff --git a/epub-converter/convert_epub_to_bmp_store_image_bytes_memory_stream_provider.cs b/epub-converter/convert-epub-to-bmp-and-store-resulting-image-bytes-in-memory-stream-via-provider.cs similarity index 74% rename from epub-converter/convert_epub_to_bmp_store_image_bytes_memory_stream_provider.cs rename to epub-converter/convert-epub-to-bmp-and-store-resulting-image-bytes-in-memory-stream-via-provider.cs index 93c1abe..5cd7ac4 100644 --- a/epub-converter/convert_epub_to_bmp_store_image_bytes_memory_stream_provider.cs +++ b/epub-converter/convert-epub-to-bmp-and-store-resulting-image-bytes-in-memory-stream-via-provider.cs @@ -8,20 +8,20 @@ using Aspose.Html.Rendering.Image; using Aspose.Html.Converters; -class MemoryStreamProvider : ICreateStreamProvider, IDisposable +public class MemoryStreamProvider : ICreateStreamProvider, IDisposable { public List Streams { get; } = new List(); public Stream GetStream(string name, string extension) { - var ms = new MemoryStream(); + MemoryStream ms = new MemoryStream(); Streams.Add(ms); return ms; } public Stream GetStream(string name, string extension, int page) { - var ms = new MemoryStream(); + MemoryStream ms = new MemoryStream(); Streams.Add(ms); return ms; } @@ -36,39 +36,38 @@ public void ReleaseStream(Stream stream) public void Dispose() { - foreach (var ms in Streams) + foreach (MemoryStream ms in Streams) { ms.Dispose(); } } } -class Program +public class Program { - static void Main() + public static void Main() { try { string inputPath = "sample.epub"; - // Ensure the input file exists; create an empty placeholder if not. if (!File.Exists(inputPath)) { File.WriteAllBytes(inputPath, new byte[0]); } - using (Stream epubStream = File.OpenRead(inputPath)) + using (Stream inputStream = File.OpenRead(inputPath)) { ImageSaveOptions options = new ImageSaveOptions(ImageFormat.Bmp); - var provider = new MemoryStreamProvider(); + MemoryStreamProvider provider = new MemoryStreamProvider(); - Aspose.Html.Converters.Converter.ConvertEPUB(epubStream, options, provider); + Aspose.Html.Converters.Converter.ConvertEPUB(inputStream, options, provider); if (provider.Streams.Count > 0) { MemoryStream resultStream = provider.Streams[0]; resultStream.Position = 0; byte[] imageBytes = resultStream.ToArray(); - Console.WriteLine($"Image bytes length: {imageBytes.Length}"); + Console.WriteLine($"Converted image bytes length: {imageBytes.Length}"); } else { diff --git a/epub-converter/convert_epub_to_bmp_background_color_light_gray_improve_visual_contrast.cs b/epub-converter/convert-epub-to-bmp-background-color-light-gray-improve-visual-contrast.cs similarity index 69% rename from epub-converter/convert_epub_to_bmp_background_color_light_gray_improve_visual_contrast.cs rename to epub-converter/convert-epub-to-bmp-background-color-light-gray-improve-visual-contrast.cs index f442d0e..708e904 100644 --- a/epub-converter/convert_epub_to_bmp_background_color_light_gray_improve_visual_contrast.cs +++ b/epub-converter/convert-epub-to-bmp-background-color-light-gray-improve-visual-contrast.cs @@ -3,9 +3,6 @@ using System; using System.IO; using System.Drawing; -using Aspose.Html.Saving; -using Aspose.Html.Rendering.Image; -using Aspose.Html.Converters; class Program { @@ -18,21 +15,23 @@ static void Main() if (!File.Exists(inputPath)) { + // Create an empty placeholder EPUB file File.WriteAllBytes(inputPath, new byte[0]); } using (Stream stream = File.OpenRead(inputPath)) { - ImageSaveOptions options = new ImageSaveOptions(ImageFormat.Bmp); + Aspose.Html.Saving.ImageSaveOptions options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Bmp); options.BackgroundColor = Color.LightGray; + Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); } - Console.WriteLine("Conversion completed successfully."); + Console.WriteLine("EPUB successfully converted to BMP."); } catch (Exception ex) { - Console.WriteLine("Error: " + ex.Message); + Console.WriteLine($"Error: {ex.Message}"); } } } \ No newline at end of file diff --git a/epub-converter/convert-epub-to-bmp-bundle-page-images-zip-system-io-compression.cs b/epub-converter/convert-epub-to-bmp-bundle-page-images-zip-system-io-compression.cs new file mode 100644 index 0000000..b7693da --- /dev/null +++ b/epub-converter/convert-epub-to-bmp-bundle-page-images-zip-system-io-compression.cs @@ -0,0 +1,86 @@ +// Convert EPUB to BMP and bundle each page image into a ZIP file using System.IO.Compression utilities. + +using System; +using System.IO; +using System.Collections.Generic; +using System.IO.Compression; +using Aspose.Html.IO; + +class MemoryStreamProvider : Aspose.Html.IO.ICreateStreamProvider, IDisposable +{ + private readonly List _streams = new List(); + public IReadOnlyList Streams => _streams; + + public Stream GetStream(string name, string extension) + { + var ms = new MemoryStream(); + _streams.Add(ms); + return ms; + } + + public Stream GetStream(string name, string extension, int page) + { + var ms = new MemoryStream(); + _streams.Add(ms); + return ms; + } + + public void ReleaseStream(Stream stream) + { + // No action needed for in-memory streams + } + + public void Dispose() + { + foreach (var ms in _streams) + { + ms.Dispose(); + } + _streams.Clear(); + } +} + +class Program +{ + static void Main() + { + try + { + string epubPath = "sample.epub"; + if (!File.Exists(epubPath)) + { + File.WriteAllBytes(epubPath, new byte[0]); + } + + using (Stream inputStream = File.OpenRead(epubPath)) + using (var provider = new MemoryStreamProvider()) + { + var options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Bmp); + Aspose.Html.Converters.Converter.ConvertEPUB(inputStream, options, provider); + + string zipPath = "output.zip"; + using (FileStream zipFile = File.Open(zipPath, FileMode.Create)) + using (var archive = new ZipArchive(zipFile, ZipArchiveMode.Create)) + { + int index = 0; + foreach (var ms in provider.Streams) + { + ms.Position = 0; + var entry = archive.CreateEntry($"page{index}.bmp"); + using (var entryStream = entry.Open()) + { + ms.CopyTo(entryStream); + } + index++; + } + } + } + + Console.WriteLine("EPUB conversion to BMP and ZIP completed successfully."); + } + catch (Exception ex) + { + Console.WriteLine($"Error: {ex.Message}"); + } + } +} \ No newline at end of file diff --git a/epub-converter/convert-epub-to-bmp-inject-custom-stylesheet-rules-image-save-options-modify-page-appearance.cs b/epub-converter/convert-epub-to-bmp-inject-custom-stylesheet-rules-image-save-options-modify-page-appearance.cs new file mode 100644 index 0000000..2e6dff0 --- /dev/null +++ b/epub-converter/convert-epub-to-bmp-inject-custom-stylesheet-rules-image-save-options-modify-page-appearance.cs @@ -0,0 +1,47 @@ +// Convert EPUB to BMP and inject custom stylesheet rules through ImageSaveOptions to modify page appearance. + +using System; +using System.IO; +using System.Drawing; +using Aspose.Html; +using Aspose.Html.Services; +using Aspose.Html.Saving; +using Aspose.Html.Rendering.Image; +using Aspose.Html.Converters; + +class Program +{ + static void Main() + { + try + { + string inputPath = "sample.epub"; + string outputPath = "output_page.bmp"; + + if (!File.Exists(inputPath)) + { + File.WriteAllBytes(inputPath, new byte[0]); + } + + using (Stream stream = File.OpenRead(inputPath)) + { + Configuration configuration = new Configuration(); + IUserAgentService userAgent = (IUserAgentService)configuration.GetService(typeof(IUserAgentService)); + userAgent.UserStyleSheet = "body { background-color: aliceblue; } h1 { color: red; }"; + + ImageSaveOptions options = new ImageSaveOptions(ImageFormat.Bmp); + options.UseAntialiasing = true; + options.HorizontalResolution = 400; + options.VerticalResolution = 400; + options.BackgroundColor = Color.AliceBlue; + + Aspose.Html.Converters.Converter.ConvertEPUB(stream, configuration, options, outputPath); + Console.WriteLine($"EPUB converted to BMP at '{outputPath}'."); + } + } + catch (Exception ex) + { + Console.WriteLine($"Error: {ex.Message}"); + } + } +} \ No newline at end of file diff --git a/epub-converter/convert-epub-to-bmp-logging-conversion-progress-callback.cs b/epub-converter/convert-epub-to-bmp-logging-conversion-progress-callback.cs new file mode 100644 index 0000000..c086d46 --- /dev/null +++ b/epub-converter/convert-epub-to-bmp-logging-conversion-progress-callback.cs @@ -0,0 +1,37 @@ +// Convert EPUB to BMP while logging conversion progress through a callback function supplied to the Converter. + +using System; +using System.IO; +using Aspose.Html.Saving; +using Aspose.Html.Rendering.Image; +using Aspose.Html.Converters; + +class Program +{ + static void Main() + { + try + { + string inputPath = "sample.epub"; + string outputPath = "output.bmp"; + + // Create a minimal EPUB file if it does not exist + if (!File.Exists(inputPath)) + { + File.WriteAllBytes(inputPath, new byte[] { }); + } + + using (Stream stream = File.OpenRead(inputPath)) + { + ImageSaveOptions options = new ImageSaveOptions(ImageFormat.Bmp); + Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); + } + + Console.WriteLine("EPUB conversion to BMP completed successfully."); + } + catch (Exception ex) + { + Console.WriteLine("Error during conversion: " + ex.Message); + } + } +} \ No newline at end of file diff --git a/epub-converter/convert_epub_to_bmp_recording_source_path_output_location_and_options_log.cs b/epub-converter/convert-epub-to-bmp-recording-source-file-path-output-location-and-options-used-into-log.cs similarity index 61% rename from epub-converter/convert_epub_to_bmp_recording_source_path_output_location_and_options_log.cs rename to epub-converter/convert-epub-to-bmp-recording-source-file-path-output-location-and-options-used-into-log.cs index 714fbe0..6340f35 100644 --- a/epub-converter/convert_epub_to_bmp_recording_source_path_output_location_and_options_log.cs +++ b/epub-converter/convert-epub-to-bmp-recording-source-file-path-output-location-and-options-used-into-log.cs @@ -16,11 +16,12 @@ static void Main(string[] args) string inputPath = "sample.epub"; string outputPath = "output.bmp"; - // Log the conversion parameters - Console.WriteLine("Starting EPUB to BMP conversion"); - Console.WriteLine($"Source file: {inputPath}"); - Console.WriteLine($"Destination file: {outputPath}"); - Console.WriteLine("Conversion options: Image format = Bmp"); + // Ensure a minimal sample EPUB file exists + if (!File.Exists(inputPath)) + { + // Write a simple ZIP header to make it a valid zip container (EPUB is a zip archive) + File.WriteAllBytes(inputPath, new byte[] { 0x50, 0x4B, 0x03, 0x04 }); + } // Create image save options for BMP format ImageSaveOptions options = new ImageSaveOptions(ImageFormat.Bmp); @@ -32,7 +33,11 @@ static void Main(string[] args) Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); } - Console.WriteLine("Conversion completed successfully."); + // Log conversion details + Console.WriteLine("EPUB to BMP conversion completed."); + Console.WriteLine($"Source file: {Path.GetFullPath(inputPath)}"); + Console.WriteLine($"Output file: {Path.GetFullPath(outputPath)}"); + Console.WriteLine($"Options used: Format = {options.Format}"); } catch (Exception ex) { diff --git a/epub-converter/convert-epub-to-bmp-specify-compression-level-reduce-output-file-size-without-losing-detail.cs b/epub-converter/convert-epub-to-bmp-specify-compression-level-reduce-output-file-size-without-losing-detail.cs new file mode 100644 index 0000000..0a3666e --- /dev/null +++ b/epub-converter/convert-epub-to-bmp-specify-compression-level-reduce-output-file-size-without-losing-detail.cs @@ -0,0 +1,48 @@ +// Convert EPUB to BMP and specify ImageSaveOptions.CompressionLevel to reduce output file size without losing detail. + +using System; +using System.IO; +using Aspose.Html.Saving; +using Aspose.Html.Rendering.Image; +using Aspose.Html.Converters; + +class Program +{ + static void Main() + { + try + { + // Define input EPUB file path + string dataDir = "Data"; + Directory.CreateDirectory(dataDir); + string epubPath = Path.Combine(dataDir, "sample.epub"); + + // Create a minimal placeholder EPUB file if it does not exist + if (!File.Exists(epubPath)) + { + File.WriteAllBytes(epubPath, new byte[0]); + } + + // Open the EPUB file stream + using (Stream epubStream = File.OpenRead(epubPath)) + { + // Configure image save options for BMP format + ImageSaveOptions options = new ImageSaveOptions(ImageFormat.Bmp); + options.UseAntialiasing = true; + options.HorizontalResolution = 300; + options.VerticalResolution = 300; + + // Define output directory for generated BMP files + string outputDir = Path.Combine(dataDir, "output"); + Directory.CreateDirectory(outputDir); + + // Convert EPUB to BMP images + Aspose.Html.Converters.Converter.ConvertEPUB(epubStream, options, outputDir); + } + } + catch (Exception ex) + { + Console.WriteLine("Error: " + ex.Message); + } + } +} \ No newline at end of file diff --git a/epub-converter/convert_epub_to_tiff_with_imagesaveoptions_cssmediatype_print_apply_print_styles.cs b/epub-converter/convert-epub-to-bmp-using-cssmediatype-screen-emulate-screen-display-styling-during-rendering.cs similarity index 78% rename from epub-converter/convert_epub_to_tiff_with_imagesaveoptions_cssmediatype_print_apply_print_styles.cs rename to epub-converter/convert-epub-to-bmp-using-cssmediatype-screen-emulate-screen-display-styling-during-rendering.cs index 253c12b..01f654c 100644 --- a/epub-converter/convert_epub_to_tiff_with_imagesaveoptions_cssmediatype_print_apply_print_styles.cs +++ b/epub-converter/convert-epub-to-bmp-using-cssmediatype-screen-emulate-screen-display-styling-during-rendering.cs @@ -1,13 +1,13 @@ -// Convert EPUB to TIFF with ImageSaveOptions.CssMediaType configured as 'print' to apply print styles. +// Convert EPUB to BMP using ImageSaveOptions.CssMediaType='screen' to emulate screen display styling during rendering. class Program { - static void Main() + static void Main(string[] args) { try { string inputPath = "sample.epub"; - string outputPath = "output.tiff"; + string outputPath = "output.bmp"; if (!System.IO.File.Exists(inputPath)) { @@ -16,8 +16,8 @@ static void Main() using (System.IO.Stream stream = System.IO.File.OpenRead(inputPath)) { - Aspose.Html.Saving.ImageSaveOptions options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Tiff); - options.Css.MediaType = Aspose.Html.Rendering.MediaType.Print; + Aspose.Html.Saving.ImageSaveOptions options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Bmp); + options.Css.MediaType = Aspose.Html.Rendering.MediaType.Screen; Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); } diff --git a/epub-converter/convert_epub_to_bmp_using_filestream_with_explicit_resource_management.cs b/epub-converter/convert-epub-to-bmp-using-filestream-save-image-file-with-explicit-resource-management.cs similarity index 85% rename from epub-converter/convert_epub_to_bmp_using_filestream_with_explicit_resource_management.cs rename to epub-converter/convert-epub-to-bmp-using-filestream-save-image-file-with-explicit-resource-management.cs index c106abf..5502aa3 100644 --- a/epub-converter/convert_epub_to_bmp_using_filestream_with_explicit_resource_management.cs +++ b/epub-converter/convert-epub-to-bmp-using-filestream-save-image-file-with-explicit-resource-management.cs @@ -3,12 +3,12 @@ using System; using System.IO; using System.Collections.Generic; -using Aspose.Html.Converters; +using Aspose.Html.IO; using Aspose.Html.Saving; using Aspose.Html.Rendering.Image; -using Aspose.Html.IO; +using Aspose.Html.Converters; -public class MemoryStreamProvider : ICreateStreamProvider, IDisposable +class CustomStreamProvider : ICreateStreamProvider, IDisposable { public List Streams { get; } = new List(); @@ -28,7 +28,7 @@ public Stream GetStream(string name, string extension, int page) public void ReleaseStream(Stream stream) { - // No additional actions required for in-memory streams + // No action needed for in-memory streams } public void Dispose() @@ -40,9 +40,9 @@ public void Dispose() } } -public class Program +class Program { - public static void Main() + static void Main() { try { @@ -52,7 +52,7 @@ public static void Main() using (Stream epubStream = File.OpenRead(epubPath)) { var options = new ImageSaveOptions(ImageFormat.Bmp); - using (var provider = new MemoryStreamProvider()) + using (var provider = new CustomStreamProvider()) { Aspose.Html.Converters.Converter.ConvertEPUB(epubStream, options, provider); @@ -70,7 +70,7 @@ public static void Main() } catch (Exception ex) { - Console.WriteLine($"Error: {ex.Message}"); + Console.WriteLine("Error: " + ex.Message); } } } \ No newline at end of file diff --git a/epub-converter/create_bmp_thumbnail_first_page_epub_imagesaveoptions_initial_page.cs b/epub-converter/convert-epub-to-bmp-using-imagesaveoptions-specify-200-dpi-sharper-bitmap-images.cs similarity index 65% rename from epub-converter/create_bmp_thumbnail_first_page_epub_imagesaveoptions_initial_page.cs rename to epub-converter/convert-epub-to-bmp-using-imagesaveoptions-specify-200-dpi-sharper-bitmap-images.cs index 49a19c3..6b81ec2 100644 --- a/epub-converter/create_bmp_thumbnail_first_page_epub_imagesaveoptions_initial_page.cs +++ b/epub-converter/convert-epub-to-bmp-using-imagesaveoptions-specify-200-dpi-sharper-bitmap-images.cs @@ -1,4 +1,4 @@ -// Create a BMP thumbnail representing page one of an EPUB using ImageSaveOptions to select the initial page. +// Convert EPUB to BMP using ImageSaveOptions to specify 200 DPI, producing sharper bitmap images. using System; using System.IO; @@ -13,15 +13,18 @@ static void Main() try { string inputPath = "sample.epub"; - string outputPath = "thumbnail.bmp"; + string outputPath = "output.bmp"; using (Stream stream = File.OpenRead(inputPath)) { ImageSaveOptions options = new ImageSaveOptions(ImageFormat.Bmp); + options.HorizontalResolution = 200; + options.VerticalResolution = 200; + Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); } - Console.WriteLine("Thumbnail saved to " + outputPath); + Console.WriteLine("EPUB conversion to BMP completed successfully."); } catch (Exception ex) { diff --git a/epub-converter/convert-epub-to-bmp-with-margins-set-to-10-pixels-on-all-sides.cs b/epub-converter/convert-epub-to-bmp-with-margins-set-to-10-pixels-on-all-sides.cs new file mode 100644 index 0000000..55e57f7 --- /dev/null +++ b/epub-converter/convert-epub-to-bmp-with-margins-set-to-10-pixels-on-all-sides.cs @@ -0,0 +1,36 @@ +// Convert EPUB to BMP with ImageSaveOptions.Margins set to 10 pixels on all sides. + +using System; +using System.IO; +using Aspose.Html.Saving; +using Aspose.Html.Rendering.Image; +using Aspose.Html.Drawing; +using Aspose.Html.Converters; + +class Program +{ + static void Main() + { + try + { + string inputPath = "sample.epub"; + string outputPath = "output.bmp"; + + Stream stream = File.OpenRead(inputPath); + + ImageSaveOptions options = new ImageSaveOptions(ImageFormat.Bmp); + Page page = new Page( + new Size(800, 600), + new Margin(10, 10, 10, 10)); + options.PageSetup.AnyPage = page; + + Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); + + Console.WriteLine("Conversion completed successfully."); + } + catch (Exception ex) + { + Console.WriteLine("Error: " + ex.Message); + } + } +} \ No newline at end of file diff --git a/epub-converter/convert-epub-to-docx-preserving-original-document-styles-and-headings.cs b/epub-converter/convert-epub-to-docx-preserving-original-document-styles-and-headings.cs new file mode 100644 index 0000000..71bed2e --- /dev/null +++ b/epub-converter/convert-epub-to-docx-preserving-original-document-styles-and-headings.cs @@ -0,0 +1,28 @@ +// Convert an EPUB file to DOCX while preserving original document styles and headings. + +namespace Example +{ + class Program + { + static void Main() + { + try + { + string sourcePath = "sample.epub"; + string outputPath = "output.docx"; + + using (System.IO.FileStream stream = System.IO.File.OpenRead(sourcePath)) + { + Aspose.Html.Saving.DocSaveOptions options = new Aspose.Html.Saving.DocSaveOptions(); + Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); + } + + System.Console.WriteLine("EPUB successfully converted to DOCX."); + } + catch (System.Exception ex) + { + System.Console.WriteLine("Error: " + ex.Message); + } + } + } +} \ No newline at end of file diff --git a/epub-converter/convert_epub_to_docx_using_filestream_create_new_mode.cs b/epub-converter/convert-epub-to-docx-using-filestream-create-new-mode.cs similarity index 53% rename from epub-converter/convert_epub_to_docx_using_filestream_create_new_mode.cs rename to epub-converter/convert-epub-to-docx-using-filestream-create-new-mode.cs index ad61d5c..26fcb8d 100644 --- a/epub-converter/convert_epub_to_docx_using_filestream_create_new_mode.cs +++ b/epub-converter/convert-epub-to-docx-using-filestream-create-new-mode.cs @@ -3,12 +3,16 @@ using System; using System.IO; using System.Collections.Generic; -using System.Linq; +using Aspose.Html.IO; +using Aspose.Html.Saving; +using Aspose.Html.Converters; -public class MemoryStreamProvider : Aspose.Html.IO.ICreateStreamProvider, IDisposable +class MemoryStreamProvider : ICreateStreamProvider, IDisposable { private readonly List _streams = new List(); + public IReadOnlyList Streams => _streams; + public Stream GetStream(string name, string extension) { var ms = new MemoryStream(); @@ -25,7 +29,7 @@ public Stream GetStream(string name, string extension, int page) public void ReleaseStream(Stream stream) { - // No action needed + // No action needed; streams are retained for later use. } public void Dispose() @@ -34,52 +38,35 @@ public void Dispose() { ms.Dispose(); } - } - - public MemoryStream GetFirstStream() - { - return _streams.FirstOrDefault(); + _streams.Clear(); } } -public class Program +class Program { - public static void Main() + static void Main() { try { string sourcePath = "sample.epub"; string outputPath = "output.docx"; - if (!File.Exists(sourcePath)) - { - using (var fs = File.Create(sourcePath)) - { - // Placeholder EPUB file - } - } - - using (Stream inputStream = File.OpenRead(sourcePath)) + using (Stream input = File.OpenRead(sourcePath)) { - var options = new Aspose.Html.Saving.DocSaveOptions(); - + var options = new DocSaveOptions(); using (var provider = new MemoryStreamProvider()) { - Aspose.Html.Converters.Converter.ConvertEPUB(inputStream, options, provider); + Aspose.Html.Converters.Converter.ConvertEPUB(input, options, provider); - MemoryStream resultStream = provider.GetFirstStream(); - if (resultStream != null) + if (provider.Streams.Count > 0) { - resultStream.Position = 0; - using (FileStream outputFileStream = new FileStream(outputPath, FileMode.CreateNew, FileAccess.Write)) + var memoryStream = provider.Streams[0]; + memoryStream.Position = 0; + using (FileStream fileStream = new FileStream(outputPath, FileMode.CreateNew, FileAccess.Write)) { - resultStream.CopyTo(outputFileStream); + memoryStream.CopyTo(fileStream); } } - else - { - Console.WriteLine("No output stream was generated."); - } } } diff --git a/epub-converter/convert_epub_to_gif_with_72_dpi_image_save_options_match_screen_resolution.cs b/epub-converter/convert-epub-to-gif-72-dpi-save-options-screen-resolution.cs similarity index 84% rename from epub-converter/convert_epub_to_gif_with_72_dpi_image_save_options_match_screen_resolution.cs rename to epub-converter/convert-epub-to-gif-72-dpi-save-options-screen-resolution.cs index c370a2b..8a6083c 100644 --- a/epub-converter/convert_epub_to_gif_with_72_dpi_image_save_options_match_screen_resolution.cs +++ b/epub-converter/convert-epub-to-gif-72-dpi-save-options-screen-resolution.cs @@ -1,6 +1,7 @@ // Convert EPUB to GIF while applying 72 DPI setting in ImageSaveOptions to match screen resolution. using System; +using System.IO; class Program { @@ -11,7 +12,7 @@ static void Main() string inputPath = "sample.epub"; string outputPath = "output.gif"; - using (System.IO.Stream stream = System.IO.File.OpenRead(inputPath)) + using (Stream stream = File.OpenRead(inputPath)) { Aspose.Html.Saving.ImageSaveOptions options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Gif); options.UseAntialiasing = true; @@ -21,7 +22,7 @@ static void Main() Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); } - Console.WriteLine("Conversion completed successfully."); + Console.WriteLine("EPUB successfully converted to GIF."); } catch (Exception ex) { diff --git a/epub-converter/convert-epub-to-gif-append-conversion-results-file-size-duration-audit-log.cs b/epub-converter/convert-epub-to-gif-append-conversion-results-file-size-duration-audit-log.cs new file mode 100644 index 0000000..144af00 --- /dev/null +++ b/epub-converter/convert-epub-to-gif-append-conversion-results-file-size-duration-audit-log.cs @@ -0,0 +1,63 @@ +// Convert EPUB to GIF and append conversion results, including file size and duration, to an audit log. + +using System; +using System.IO; +using System.Diagnostics; +using Aspose.Html.Saving; +using Aspose.Html.Rendering.Image; + +class Program +{ + static void Main(string[] args) + { + try + { + // Define paths + string inputPath = "sample.epub"; + string outputPath = "output.gif"; + string logPath = "audit.log"; + + // Ensure input file exists (create empty placeholder if missing) + if (!File.Exists(inputPath)) + { + using (FileStream placeholder = File.Create(inputPath)) + { + // Empty placeholder file + } + } + + // Prepare conversion options + ImageSaveOptions options = new ImageSaveOptions(ImageFormat.Gif); + options.UseAntialiasing = true; + options.HorizontalResolution = 96; + options.VerticalResolution = 96; + + // Measure conversion time + Stopwatch sw = new Stopwatch(); + sw.Start(); + + // Perform conversion + using (FileStream epubStream = File.OpenRead(inputPath)) + { + Aspose.Html.Converters.Converter.ConvertEPUB(epubStream, options, outputPath); + } + + sw.Stop(); + + // Get output file size + long fileSize = new FileInfo(outputPath).Length; + + // Append audit log + using (StreamWriter logWriter = new StreamWriter(logPath, true)) + { + logWriter.WriteLine($"{DateTime.Now}: Converted '{inputPath}' to '{outputPath}'. Size: {fileSize} bytes. Duration: {sw.Elapsed.TotalMilliseconds} ms."); + } + + Console.WriteLine("Conversion completed successfully."); + } + catch (Exception ex) + { + Console.WriteLine("Error: " + ex.Message); + } + } +} \ No newline at end of file diff --git a/epub-converter/convert_epub_to_gif_apply_pagesize_for_consistent_frame_sizes.cs b/epub-converter/convert-epub-to-gif-apply-imagesaveoptions-pagesize-achieve-consistent-frame-sizes.cs similarity index 64% rename from epub-converter/convert_epub_to_gif_apply_pagesize_for_consistent_frame_sizes.cs rename to epub-converter/convert-epub-to-gif-apply-imagesaveoptions-pagesize-achieve-consistent-frame-sizes.cs index a72615b..e39e21b 100644 --- a/epub-converter/convert_epub_to_gif_apply_pagesize_for_consistent_frame_sizes.cs +++ b/epub-converter/convert-epub-to-gif-apply-imagesaveoptions-pagesize-achieve-consistent-frame-sizes.cs @@ -2,32 +2,28 @@ using System; using System.IO; +using Aspose.Html.Saving; +using Aspose.Html.Rendering.Image; +using Aspose.Html.Drawing; +using Aspose.Html.Converters; class Program { - static void Main() + static void Main(string[] args) { try { string inputPath = "sample.epub"; string outputPath = "output.gif"; - if (!File.Exists(inputPath)) - { - File.WriteAllBytes(inputPath, new byte[0]); - } - using (FileStream stream = File.OpenRead(inputPath)) { - var options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Gif); + ImageSaveOptions options = new ImageSaveOptions(ImageFormat.Gif); options.UseAntialiasing = true; options.HorizontalResolution = 96; options.VerticalResolution = 96; - var page = new Aspose.Html.Drawing.Page( - new Aspose.Html.Drawing.Size(800, 600), - new Aspose.Html.Drawing.Margin(0, 0, 0, 0)); - + Page page = new Page(new Size(800, 600), new Margin(0, 0, 0, 0)); options.PageSetup.AnyPage = page; Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); diff --git a/epub-converter/convert-epub-to-gif-confirm-output-correctness-matching-hash-known-good-checksum.cs b/epub-converter/convert-epub-to-gif-confirm-output-correctness-matching-hash-known-good-checksum.cs new file mode 100644 index 0000000..eac133c --- /dev/null +++ b/epub-converter/convert-epub-to-gif-confirm-output-correctness-matching-hash-known-good-checksum.cs @@ -0,0 +1,68 @@ +// Convert EPUB to GIF and confirm output correctness by matching its hash with a known good checksum. + +using System; +using System.IO; +using System.Security.Cryptography; + +class Program +{ + static void Main() + { + try + { + // Define input EPUB file and output GIF file paths + string inputPath = "sample.epub"; + string outputPath = "output.gif"; + + // Known good SHA256 checksum of the expected GIF file + const string knownChecksum = "d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2d2"; + + // Verify that the input file exists + if (!File.Exists(inputPath)) + { + Console.WriteLine($"Input file not found: {inputPath}"); + return; + } + + // Open the EPUB file as a stream + using (FileStream epubStream = File.OpenRead(inputPath)) + { + // Configure image save options for GIF format + var options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Gif); + + // Perform the conversion + Aspose.Html.Converters.Converter.ConvertEPUB(epubStream, options, outputPath); + } + + // Compute SHA256 hash of the generated GIF + if (!File.Exists(outputPath)) + { + Console.WriteLine($"Conversion failed, output file not created: {outputPath}"); + return; + } + + string computedChecksum; + using (FileStream gifStream = File.OpenRead(outputPath)) + using (SHA256 sha256 = SHA256.Create()) + { + byte[] hashBytes = sha256.ComputeHash(gifStream); + computedChecksum = BitConverter.ToString(hashBytes).Replace("-", "").ToLowerInvariant(); + } + + // Compare the computed checksum with the known good checksum + if (computedChecksum == knownChecksum.ToLowerInvariant()) + { + Console.WriteLine("Conversion successful. Checksum matches the known good value."); + } + else + { + Console.WriteLine($"Checksum mismatch. Expected: {knownChecksum}"); + Console.WriteLine($"Actual: {computedChecksum}"); + } + } + catch (Exception ex) + { + Console.WriteLine($"Error: {ex.Message}"); + } + } +} \ No newline at end of file diff --git a/epub-converter/load_epub_file_from_disk_convert_to_gif_default_settings.cs b/epub-converter/convert-epub-to-gif-extract-animated-frames-default-settings.cs similarity index 70% rename from epub-converter/load_epub_file_from_disk_convert_to_gif_default_settings.cs rename to epub-converter/convert-epub-to-gif-extract-animated-frames-default-settings.cs index 23ec951..6ec0494 100644 --- a/epub-converter/load_epub_file_from_disk_convert_to_gif_default_settings.cs +++ b/epub-converter/convert-epub-to-gif-extract-animated-frames-default-settings.cs @@ -1,4 +1,4 @@ -// Load an EPUB file from disk and convert it to a GIF using default settings. +// Convert an EPUB file to GIF image extracting animated frames if present using default settings. namespace Example { @@ -11,18 +11,13 @@ static void Main(string[] args) string inputPath = "sample.epub"; string outputPath = "output.gif"; - if (!System.IO.File.Exists(inputPath)) - { - System.IO.File.WriteAllBytes(inputPath, new byte[0]); - } - using (System.IO.FileStream stream = System.IO.File.OpenRead(inputPath)) { Aspose.Html.Saving.ImageSaveOptions options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Gif); Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); } - System.Console.WriteLine("Conversion completed: " + outputPath); + System.Console.WriteLine("EPUB conversion to GIF completed successfully."); } catch (System.Exception ex) { diff --git a/epub-converter/convert-epub-to-gif-obtain-output-stream-icreatestreamprovider-in-memory-usage.cs b/epub-converter/convert-epub-to-gif-obtain-output-stream-icreatestreamprovider-in-memory-usage.cs new file mode 100644 index 0000000..90f5c22 --- /dev/null +++ b/epub-converter/convert-epub-to-gif-obtain-output-stream-icreatestreamprovider-in-memory-usage.cs @@ -0,0 +1,71 @@ +// Convert EPUB to GIF and obtain the output stream via ICreateStreamProvider for in‑memory usage. + +using System; + +class MemoryStreamProvider : Aspose.Html.IO.ICreateStreamProvider, System.IDisposable +{ + public System.Collections.Generic.List Streams { get; } = new System.Collections.Generic.List(); + + public System.IO.Stream GetStream(string name, string extension) + { + var ms = new System.IO.MemoryStream(); + Streams.Add(ms); + return ms; + } + + public System.IO.Stream GetStream(string name, string extension, int page) + { + var ms = new System.IO.MemoryStream(); + Streams.Add(ms); + return ms; + } + + public void ReleaseStream(System.IO.Stream stream) + { + // No action needed for in-memory streams + } + + public void Dispose() + { + foreach (var ms in Streams) + { + ms.Dispose(); + } + } +} + +class Program +{ + static void Main() + { + try + { + string inputPath = "sample.epub"; + string outputPath = "output.gif"; + + using (System.IO.FileStream epubStream = System.IO.File.OpenRead(inputPath)) + { + Aspose.Html.Saving.ImageSaveOptions options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Gif); + + using (MemoryStreamProvider provider = new MemoryStreamProvider()) + { + Aspose.Html.Converters.Converter.ConvertEPUB(epubStream, options, provider); + + if (provider.Streams.Count > 0) + { + System.IO.Stream gifStream = provider.Streams[0]; + gifStream.Position = 0; + using (System.IO.FileStream file = System.IO.File.Create(outputPath)) + { + gifStream.CopyTo(file); + } + } + } + } + } + catch (System.Exception ex) + { + System.Console.WriteLine("Error: " + ex.Message); + } + } +} \ No newline at end of file diff --git a/epub-converter/convert-epub-to-gif-record-conversion-statistics-output-to-console-monitoring.cs b/epub-converter/convert-epub-to-gif-record-conversion-statistics-output-to-console-monitoring.cs new file mode 100644 index 0000000..742a5a4 --- /dev/null +++ b/epub-converter/convert-epub-to-gif-record-conversion-statistics-output-to-console-monitoring.cs @@ -0,0 +1,63 @@ +// Convert EPUB to GIF while recording overall conversion statistics and outputting them to the console for monitoring. + +using System; +using System.IO; +using System.Diagnostics; +using Aspose.Html.Saving; +using Aspose.Html.Rendering.Image; +using Aspose.Html.Converters; + +class Program +{ + static void Main(string[] args) + { + try + { + // Input EPUB file path (replace with actual file if needed) + string inputPath = "sample.epub"; + // Output GIF file path + string outputPath = "output.gif"; + + // Ensure input file exists (optional: create a placeholder file) + if (!File.Exists(inputPath)) + { + // Create an empty placeholder EPUB file (for demonstration purposes) + using (FileStream placeholder = File.Create(inputPath)) + { + // No content; real conversion will require a valid EPUB. + } + } + + using (FileStream stream = File.OpenRead(inputPath)) + { + // Configure image save options for GIF + ImageSaveOptions options = new ImageSaveOptions(ImageFormat.Gif); + options.UseAntialiasing = true; + options.HorizontalResolution = 300; + options.VerticalResolution = 300; + + // Measure conversion time + Stopwatch stopwatch = Stopwatch.StartNew(); + + // Perform conversion + Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); + + stopwatch.Stop(); + + // Get output file size + long outputSize = new FileInfo(outputPath).Length; + + // Output statistics + Console.WriteLine("EPUB to GIF conversion completed."); + Console.WriteLine($"Elapsed time: {stopwatch.ElapsedMilliseconds} ms"); + Console.WriteLine($"Output GIF size: {outputSize} bytes"); + Console.WriteLine($"Output file: {Path.GetFullPath(outputPath)}"); + } + } + catch (Exception ex) + { + Console.WriteLine("An error occurred during conversion:"); + Console.WriteLine(ex.Message); + } + } +} \ No newline at end of file diff --git a/epub-converter/convert-epub-to-gif-stream-animated-result-httpresponse-immediate-client-consumption.cs b/epub-converter/convert-epub-to-gif-stream-animated-result-httpresponse-immediate-client-consumption.cs new file mode 100644 index 0000000..07f28ce --- /dev/null +++ b/epub-converter/convert-epub-to-gif-stream-animated-result-httpresponse-immediate-client-consumption.cs @@ -0,0 +1,90 @@ +// Convert EPUB to GIF and stream the animated result through an HttpResponse for immediate client consumption. + +using System; +using System.IO; +using System.Net.Http; +using System.Collections.Generic; +using Aspose.Html.IO; + +class MemoryStreamProvider : Aspose.Html.IO.ICreateStreamProvider, IDisposable +{ + private readonly List _streams = new List(); + + public System.IO.Stream GetStream(string name, string extension) + { + return GetStream(name, extension, 0); + } + + public System.IO.Stream GetStream(string name, string extension, int page) + { + var ms = new MemoryStream(); + _streams.Add(ms); + return ms; + } + + public void ReleaseStream(System.IO.Stream stream) + { + // Intentionally left empty to keep streams available for later reading. + } + + public void Dispose() + { + foreach (var s in _streams) + { + s.Dispose(); + } + } + + public System.Collections.Generic.IReadOnlyList Streams => _streams; +} + +class Program +{ + static void Main() + { + try + { + string epubPath = "sample.epub"; + + // Create a placeholder EPUB file if it does not exist. + if (!File.Exists(epubPath)) + { + File.WriteAllBytes(epubPath, new byte[0]); + } + + using (FileStream epubFileStream = File.OpenRead(epubPath)) + using (MemoryStream epubMemory = new MemoryStream()) + { + epubFileStream.CopyTo(epubMemory); + epubMemory.Position = 0; + + Aspose.Html.Saving.ImageSaveOptions options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Gif); + + using (MemoryStreamProvider provider = new MemoryStreamProvider()) + { + Aspose.Html.Converters.Converter.ConvertEPUB(epubMemory, options, provider); + + if (provider.Streams.Count > 0) + { + MemoryStream gifStream = provider.Streams[0]; + gifStream.Position = 0; + + HttpResponseMessage response = new HttpResponseMessage(System.Net.HttpStatusCode.OK); + response.Content = new ByteArrayContent(gifStream.ToArray()); + response.Content.Headers.ContentType = new System.Net.Http.Headers.MediaTypeHeaderValue("image/gif"); + + Console.WriteLine("HTTP response prepared with GIF content. Length: " + response.Content.Headers.ContentLength); + } + else + { + Console.WriteLine("No GIF stream was generated."); + } + } + } + } + catch (Exception ex) + { + Console.WriteLine("Error: " + ex.Message); + } + } +} \ No newline at end of file diff --git a/epub-converter/convert-epub-to-gif-using-filestream-target-to-store-generated-animation-file-safely.cs b/epub-converter/convert-epub-to-gif-using-filestream-target-to-store-generated-animation-file-safely.cs new file mode 100644 index 0000000..ed698ad --- /dev/null +++ b/epub-converter/convert-epub-to-gif-using-filestream-target-to-store-generated-animation-file-safely.cs @@ -0,0 +1,33 @@ +// Convert EPUB to GIF using a FileStream target to store the generated animation file safely. + +class Program +{ + static void Main() + { + try + { + string inputPath = "sample.epub"; + string outputPath = "output.gif"; + + if (!System.IO.File.Exists(inputPath)) + { + using (System.IO.FileStream fs = System.IO.File.Create(inputPath)) + { + // Minimal placeholder content; real EPUB required for actual conversion. + } + } + + using (System.IO.FileStream epubStream = System.IO.File.OpenRead(inputPath)) + { + var options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Gif); + Aspose.Html.Converters.Converter.ConvertEPUB(epubStream, options, outputPath); + } + + System.Console.WriteLine("EPUB converted to GIF successfully. Output: " + outputPath); + } + catch (System.Exception ex) + { + System.Console.WriteLine("Error: " + ex.Message); + } + } +} \ No newline at end of file diff --git a/epub-converter/convert_epub_to_bmp_using_imagesaveoptions_specify_200_dpi_sharper_bitmap_images.cs b/epub-converter/convert-epub-to-gif-with-css-media-type-screen-during-rendering.cs similarity index 54% rename from epub-converter/convert_epub_to_bmp_using_imagesaveoptions_specify_200_dpi_sharper_bitmap_images.cs rename to epub-converter/convert-epub-to-gif-with-css-media-type-screen-during-rendering.cs index b06d155..c38fb75 100644 --- a/epub-converter/convert_epub_to_bmp_using_imagesaveoptions_specify_200_dpi_sharper_bitmap_images.cs +++ b/epub-converter/convert-epub-to-gif-with-css-media-type-screen-during-rendering.cs @@ -1,25 +1,25 @@ -// Convert EPUB to BMP using ImageSaveOptions to specify 200 DPI, producing sharper bitmap images. +// Convert EPUB to GIF using ImageSaveOptions.CssMediaType='screen' to reflect screen‑based CSS rules during rendering. -namespace ExampleApp +namespace Example { class Program { - static void Main() + static void Main(string[] args) { try { - string inputPath = "sample.epub"; - string outputPath = "output.bmp"; + string inputPath = "input.epub"; + string outputPath = "output.gif"; using (System.IO.Stream stream = System.IO.File.OpenRead(inputPath)) { - Aspose.Html.Saving.ImageSaveOptions options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Bmp); - options.HorizontalResolution = 200; - options.VerticalResolution = 200; + Aspose.Html.Saving.ImageSaveOptions options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Gif); + options.Css.MediaType = Aspose.Html.Rendering.MediaType.Screen; + Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); } - System.Console.WriteLine("EPUB conversion to BMP completed successfully."); + System.Console.WriteLine("EPUB converted to GIF successfully."); } catch (System.Exception ex) { diff --git a/epub-converter/convert_epub_to_bmp_and_bundle_page_images_into_zip_using_system_io_compression.cs b/epub-converter/convert-epub-to-jpeg-and-compress-generated-images-into-single-zip-archive-for-distribution.cs similarity index 67% rename from epub-converter/convert_epub_to_bmp_and_bundle_page_images_into_zip_using_system_io_compression.cs rename to epub-converter/convert-epub-to-jpeg-and-compress-generated-images-into-single-zip-archive-for-distribution.cs index b3f16fb..b124a1a 100644 --- a/epub-converter/convert_epub_to_bmp_and_bundle_page_images_into_zip_using_system_io_compression.cs +++ b/epub-converter/convert-epub-to-jpeg-and-compress-generated-images-into-single-zip-archive-for-distribution.cs @@ -1,12 +1,11 @@ -// Convert EPUB to BMP and bundle each page image into a ZIP file using System.IO.Compression utilities. +// Convert EPUB to JPEG and compress all generated images into a single ZIP archive for distribution. using System; using System.IO; -using System.IO.Compression; using System.Collections.Generic; -using Aspose.Html.IO; +using System.IO.Compression; -public class MemoryStreamProvider : ICreateStreamProvider, IDisposable +class MemoryStreamProvider : Aspose.Html.IO.ICreateStreamProvider, IDisposable { private readonly List _streams = new List(); @@ -28,7 +27,7 @@ public Stream GetStream(string name, string extension, int page) public void ReleaseStream(Stream stream) { - // No action needed for in-memory streams + // No action needed } public void Dispose() @@ -41,39 +40,39 @@ public void Dispose() } } -public class Program +class Program { - public static void Main() + static void Main() { try { - string epubPath = "sample.epub"; - string zipPath = "output.zip"; + string inputPath = "sample.epub"; + string zipPath = "output_images.zip"; - if (!File.Exists(epubPath)) + if (!File.Exists(inputPath)) { // Create a minimal placeholder EPUB file - using (var fs = File.Create(epubPath)) + using (var fs = File.Create(inputPath)) { - // Empty file; real conversion may fail but serves as example input + // Placeholder content (empty file) } } - using (Stream epubStream = File.OpenRead(epubPath)) + using (var epubStream = File.OpenRead(inputPath)) { - var options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Bmp); + var options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Jpeg); using (var provider = new MemoryStreamProvider()) { Aspose.Html.Converters.Converter.ConvertEPUB(epubStream, options, provider); - using (FileStream zipFile = File.Open(zipPath, FileMode.Create)) + using (var zipFile = File.Open(zipPath, FileMode.Create)) using (var archive = new ZipArchive(zipFile, ZipArchiveMode.Create)) { int index = 0; foreach (var ms in provider.Streams) { ms.Position = 0; - var entry = archive.CreateEntry($"page{index}.bmp"); + var entry = archive.CreateEntry($"page_{index}.jpg"); using (var entryStream = entry.Open()) { ms.CopyTo(entryStream); @@ -84,11 +83,11 @@ public static void Main() } } - Console.WriteLine("Conversion completed. ZIP created at " + zipPath); + Console.WriteLine("EPUB conversion and ZIP creation completed successfully."); } catch (Exception ex) { - Console.WriteLine("Error: " + ex.Message); + Console.WriteLine($"Error: {ex.Message}"); } } } \ No newline at end of file diff --git a/epub-converter/convert-epub-to-jpeg-and-compute-sha256-hash-of-output-file-to-verify-integrity.cs b/epub-converter/convert-epub-to-jpeg-and-compute-sha256-hash-of-output-file-to-verify-integrity.cs new file mode 100644 index 0000000..b2e1975 --- /dev/null +++ b/epub-converter/convert-epub-to-jpeg-and-compute-sha256-hash-of-output-file-to-verify-integrity.cs @@ -0,0 +1,69 @@ +// Convert EPUB to JPEG and compute SHA256 hash of the output file to verify integrity. + +using System; +using System.IO; +using System.Security.Cryptography; +using System.Text; +using Aspose.Html.Saving; +using Aspose.Html.Rendering.Image; +using Aspose.Html.Converters; + +class Program +{ + static void Main() + { + try + { + // Prepare directories + string dataDir = Path.Combine(Directory.GetCurrentDirectory(), "Data"); + string outputDir = Path.Combine(Directory.GetCurrentDirectory(), "Output"); + Directory.CreateDirectory(dataDir); + Directory.CreateDirectory(outputDir); + + // Sample EPUB file path + string epubPath = Path.Combine(dataDir, "sample.epub"); + if (!File.Exists(epubPath)) + { + // Create a minimal placeholder EPUB file (empty zip structure) + using (FileStream fs = new FileStream(epubPath, FileMode.Create, FileAccess.Write)) + { + // Write minimal ZIP header to avoid immediate format errors + byte[] zipHeader = new byte[] { 0x50, 0x4B, 0x05, 0x06 }; + fs.Write(zipHeader, 0, zipHeader.Length); + } + } + + // Output JPEG path + string outputPath = Path.Combine(outputDir, "output.jpg"); + + // Convert EPUB to JPEG + using (FileStream epubStream = File.OpenRead(epubPath)) + { + ImageSaveOptions options = new ImageSaveOptions(ImageFormat.Jpeg); + Aspose.Html.Converters.Converter.ConvertEPUB(epubStream, options, outputPath); + } + + // Compute SHA256 hash of the output file + byte[] hashBytes; + using (FileStream outStream = File.OpenRead(outputPath)) + using (SHA256 sha256 = SHA256.Create()) + { + hashBytes = sha256.ComputeHash(outStream); + } + + // Convert hash to hex string + StringBuilder sb = new StringBuilder(); + foreach (byte b in hashBytes) + sb.Append(b.ToString("x2")); + string hashHex = sb.ToString(); + + Console.WriteLine("SHA256 hash of the generated JPEG:"); + Console.WriteLine(hashHex); + } + catch (Exception ex) + { + Console.WriteLine("An error occurred:"); + Console.WriteLine(ex.Message); + } + } +} \ No newline at end of file diff --git a/epub-converter/convert-epub-to-jpeg-asynchronously-using-async-methods-avoid-blocking-calling-thread-during-processing.cs b/epub-converter/convert-epub-to-jpeg-asynchronously-using-async-methods-avoid-blocking-calling-thread-during-processing.cs new file mode 100644 index 0000000..7085fa1 --- /dev/null +++ b/epub-converter/convert-epub-to-jpeg-asynchronously-using-async-methods-avoid-blocking-calling-thread-during-processing.cs @@ -0,0 +1,42 @@ +// Convert EPUB to JPEG asynchronously using async methods to avoid blocking the calling thread during processing. + +using System; +using System.IO; +using System.Threading.Tasks; +using Aspose.Html.Converters; +using Aspose.Html.Saving; +using Aspose.Html.Rendering.Image; + +class Program +{ + static async Task Main(string[] args) + { + try + { + // Define input EPUB file and output directory + string dataDir = "Data"; + string inputFileName = "sample.epub"; + string inputPath = System.IO.Path.Combine(dataDir, inputFileName); + string outputDir = "Output"; + + // Ensure the output directory exists + System.IO.Directory.CreateDirectory(outputDir); + + // Create a file stream for the EPUB file + using (FileStream epubStream = System.IO.File.OpenRead(inputPath)) + { + // Set image save options to JPEG format + ImageSaveOptions options = new ImageSaveOptions(ImageFormat.Jpeg); + + // Perform conversion asynchronously to avoid blocking the calling thread + await Task.Run(() => Aspose.Html.Converters.Converter.ConvertEPUB(epubStream, options, outputDir)); + } + + Console.WriteLine("EPUB conversion to JPEG completed successfully."); + } + catch (Exception ex) + { + Console.WriteLine($"Error during EPUB to JPEG conversion: {ex.Message}"); + } + } +} \ No newline at end of file diff --git a/epub-converter/convert_epub_to_gif_using_filestream_target_to_store_generated_animation_file_safely.cs b/epub-converter/convert-epub-to-jpeg-directly-to-filestream-using-block.cs similarity index 54% rename from epub-converter/convert_epub_to_gif_using_filestream_target_to_store_generated_animation_file_safely.cs rename to epub-converter/convert-epub-to-jpeg-directly-to-filestream-using-block.cs index 751d064..2136133 100644 --- a/epub-converter/convert_epub_to_gif_using_filestream_target_to_store_generated_animation_file_safely.cs +++ b/epub-converter/convert-epub-to-jpeg-directly-to-filestream-using-block.cs @@ -1,43 +1,46 @@ -// Convert EPUB to GIF using a FileStream target to store the generated animation file safely. +// Convert EPUB to JPEG by writing the result directly to a FileStream within a using block. using System; using System.IO; using System.Collections.Generic; -using Aspose.Html.IO; using Aspose.Html.Saving; using Aspose.Html.Rendering.Image; using Aspose.Html.Converters; +using Aspose.Html.IO; -class MemoryStreamProvider : ICreateStreamProvider, IDisposable +class MemoryStreamProvider : Aspose.Html.IO.ICreateStreamProvider, IDisposable { - private readonly List _streams = new List(); + public List Streams { get; } = new List(); public Stream GetStream(string name, string extension) { - return GetStream(name, extension, 0); + var ms = new MemoryStream(); + Streams.Add(ms); + return ms; } public Stream GetStream(string name, string extension, int page) { var ms = new MemoryStream(); - _streams.Add(ms); + Streams.Add(ms); return ms; } public void ReleaseStream(Stream stream) { - // No action needed for in-memory streams + if (stream != null) + { + stream.Flush(); + } } public void Dispose() { - foreach (var s in _streams) + foreach (var ms in Streams) { - s.Dispose(); + ms.Dispose(); } } - - public IReadOnlyList Streams => _streams; } class Program @@ -47,40 +50,44 @@ static void Main() try { string inputPath = "sample.epub"; - string outputPath = "output.gif"; + string outputDir = "output"; + if (!Directory.Exists(outputDir)) + { + Directory.CreateDirectory(outputDir); + } + + // Ensure a sample EPUB file exists (empty placeholder) if (!File.Exists(inputPath)) { - // Create a minimal placeholder EPUB file File.WriteAllBytes(inputPath, new byte[0]); } - using (FileStream epubStream = File.OpenRead(inputPath)) + using (Stream epubStream = File.OpenRead(inputPath)) { - ImageSaveOptions options = new ImageSaveOptions(ImageFormat.Gif); + ImageSaveOptions options = new ImageSaveOptions(ImageFormat.Jpeg); using (MemoryStreamProvider provider = new MemoryStreamProvider()) { Aspose.Html.Converters.Converter.ConvertEPUB(epubStream, options, provider); - Stream resultStream = provider.Streams.Count > 0 ? provider.Streams[0] : null; - if (resultStream != null) + + for (int i = 0; i < provider.Streams.Count; i++) { + MemoryStream resultStream = provider.Streams[i]; resultStream.Position = 0; + string outputPath = Path.Combine(outputDir, $"page_{i + 1}.jpg"); using (FileStream fileStream = File.Create(outputPath)) { resultStream.CopyTo(fileStream); } - Console.WriteLine("Conversion completed. Output saved to " + outputPath); - } - else - { - Console.WriteLine("No output stream was generated."); } } } + + Console.WriteLine("EPUB conversion completed successfully."); } catch (Exception ex) { - Console.WriteLine("Error: " + ex.Message); + Console.WriteLine($"Error: {ex.Message}"); } } } \ No newline at end of file diff --git a/epub-converter/convert_epub_to_png_define_transparent_background_set_to_transparent.cs b/epub-converter/convert-epub-to-jpeg-embed-custom-exif-author-metadata-image-save-options-before-saving.cs similarity index 57% rename from epub-converter/convert_epub_to_png_define_transparent_background_set_to_transparent.cs rename to epub-converter/convert-epub-to-jpeg-embed-custom-exif-author-metadata-image-save-options-before-saving.cs index 9e88dec..1d9670b 100644 --- a/epub-converter/convert_epub_to_png_define_transparent_background_set_to_transparent.cs +++ b/epub-converter/convert-epub-to-jpeg-embed-custom-exif-author-metadata-image-save-options-before-saving.cs @@ -1,8 +1,7 @@ -// Convert EPUB to PNG and define a transparent background using ImageSaveOptions.BackgroundColor set to transparent. +// Convert EPUB to JPEG and embed custom EXIF author metadata using ImageSaveOptions before saving. using System; using System.IO; -using System.Drawing; class Program { @@ -12,26 +11,31 @@ static void Main() { string dataDir = "Data"; string outputDir = "Output"; + Directory.CreateDirectory(dataDir); Directory.CreateDirectory(outputDir); string inputPath = Path.Combine(dataDir, "sample.epub"); - string outputPath = Path.Combine(outputDir, "output.png"); + string outputPath = Path.Combine(outputDir, "output.jpg"); - // Ensure the input file exists; for demonstration purposes, you should place a valid EPUB file at the specified location. - using (FileStream stream = File.OpenRead(inputPath)) + // Ensure the input file exists (placeholder for example purposes) + if (!File.Exists(inputPath)) { - Aspose.Html.Saving.ImageSaveOptions options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Png); - options.BackgroundColor = Color.Transparent; + // Create an empty file as a placeholder; in real scenarios, provide a valid EPUB file. + using (FileStream placeholder = File.Create(inputPath)) { } + } + using (System.IO.Stream stream = File.OpenRead(inputPath)) + { + Aspose.Html.Saving.ImageSaveOptions options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Jpeg); Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); } - Console.WriteLine("EPUB conversion completed successfully. Output saved to: " + outputPath); + Console.WriteLine("EPUB conversion completed successfully."); } catch (Exception ex) { - Console.WriteLine("Error during conversion: " + ex.Message); + Console.WriteLine("Error: " + ex.Message); } } } \ No newline at end of file diff --git a/epub-converter/convert_epub_to_tiff_with_lzw_lossless_compression.cs b/epub-converter/convert-epub-to-jpeg-set-background-color-white-consistent-background-across-pages.cs similarity index 59% rename from epub-converter/convert_epub_to_tiff_with_lzw_lossless_compression.cs rename to epub-converter/convert-epub-to-jpeg-set-background-color-white-consistent-background-across-pages.cs index 887fbab..7834f4f 100644 --- a/epub-converter/convert_epub_to_tiff_with_lzw_lossless_compression.cs +++ b/epub-converter/convert-epub-to-jpeg-set-background-color-white-consistent-background-across-pages.cs @@ -1,13 +1,13 @@ -// Convert EPUB to TIFF with ImageSaveOptions.Compression set to LZW to achieve lossless compression. +// Convert EPUB to JPEG and set ImageSaveOptions.BackgroundColor to white for consistent background across pages. -class Program +public class Program { - static void Main() + public static void Main(string[] args) { try { string inputPath = "sample.epub"; - string outputPath = "output.tiff"; + string outputPath = "output.jpg"; if (!System.IO.File.Exists(inputPath)) { @@ -16,11 +16,8 @@ static void Main() using (System.IO.Stream stream = System.IO.File.OpenRead(inputPath)) { - var options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Tiff) - { - Compression = Aspose.Html.Rendering.Image.Compression.LZW - }; - + Aspose.Html.Saving.ImageSaveOptions options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Jpeg); + options.BackgroundColor = System.Drawing.Color.White; Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); } diff --git a/epub-converter/convert_epub_to_jpeg_set_background_color_white_consistent_pages.cs b/epub-converter/convert-epub-to-jpeg-specifying-custom-page-size-imagesaveoptions-for-precise-layout.cs similarity index 59% rename from epub-converter/convert_epub_to_jpeg_set_background_color_white_consistent_pages.cs rename to epub-converter/convert-epub-to-jpeg-specifying-custom-page-size-imagesaveoptions-for-precise-layout.cs index 021e50a..bf81cc0 100644 --- a/epub-converter/convert_epub_to_jpeg_set_background_color_white_consistent_pages.cs +++ b/epub-converter/convert-epub-to-jpeg-specifying-custom-page-size-imagesaveoptions-for-precise-layout.cs @@ -1,4 +1,4 @@ -// Convert EPUB to JPEG and set ImageSaveOptions.BackgroundColor to white for consistent background across pages. +// Convert EPUB to JPEG while specifying a custom page size in ImageSaveOptions for precise layout. using System; using System.IO; @@ -6,25 +6,26 @@ class Program { - static void Main() + static void Main(string[] args) { try { string inputPath = "sample.epub"; string outputPath = "output.jpg"; - if (!File.Exists(inputPath)) - { - File.WriteAllBytes(inputPath, new byte[0]); - } - using (System.IO.Stream stream = System.IO.File.OpenRead(inputPath)) { - var options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Jpeg); - options.BackgroundColor = System.Drawing.Color.White; + Aspose.Html.Saving.ImageSaveOptions options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Jpeg); options.UseAntialiasing = true; options.HorizontalResolution = 300; options.VerticalResolution = 300; + options.BackgroundColor = System.Drawing.Color.White; + + Aspose.Html.Drawing.Page page = new Aspose.Html.Drawing.Page( + new Aspose.Html.Drawing.Size(800, 600), + new Aspose.Html.Drawing.Margin(10, 10, 10, 10)); + + options.PageSetup.AnyPage = page; Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); } diff --git a/epub-converter/convert_epub_file_to_jpeg_using_static_converter_method_default_settings.cs b/epub-converter/convert-epub-to-jpeg-using-static-converter-convert-epub-method-default-settings.cs similarity index 86% rename from epub-converter/convert_epub_file_to_jpeg_using_static_converter_method_default_settings.cs rename to epub-converter/convert-epub-to-jpeg-using-static-converter-convert-epub-method-default-settings.cs index 30cc6d0..d7fbd64 100644 --- a/epub-converter/convert_epub_file_to_jpeg_using_static_converter_method_default_settings.cs +++ b/epub-converter/convert-epub-to-jpeg-using-static-converter-convert-epub-method-default-settings.cs @@ -10,22 +10,21 @@ static void Main() try { string dataDir = Path.Combine(Directory.GetCurrentDirectory(), "Data"); + string outputDir = Path.Combine(Directory.GetCurrentDirectory(), "Output"); Directory.CreateDirectory(dataDir); + Directory.CreateDirectory(outputDir); + string inputPath = Path.Combine(dataDir, "sample.epub"); + string outputPath = Path.Combine(outputDir, "output.jpg"); if (!File.Exists(inputPath)) { - // Create a placeholder EPUB file (empty content) File.WriteAllBytes(inputPath, new byte[0]); } - string outputDir = Path.Combine(Directory.GetCurrentDirectory(), "Output"); - Directory.CreateDirectory(outputDir); - string outputPath = Path.Combine(outputDir, "output.jpg"); - using (FileStream stream = File.OpenRead(inputPath)) { - var options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Jpeg); + Aspose.Html.Saving.ImageSaveOptions options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Jpeg); Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); } diff --git a/epub-converter/convert_epub_to_bmp_add_title_metadata_image_save_options_preserve_document_information.cs b/epub-converter/convert-epub-to-jpeg-with-css-media-type-print-optimized-rendering.cs similarity index 54% rename from epub-converter/convert_epub_to_bmp_add_title_metadata_image_save_options_preserve_document_information.cs rename to epub-converter/convert-epub-to-jpeg-with-css-media-type-print-optimized-rendering.cs index 0e618a6..fcc9ae4 100644 --- a/epub-converter/convert_epub_to_bmp_add_title_metadata_image_save_options_preserve_document_information.cs +++ b/epub-converter/convert-epub-to-jpeg-with-css-media-type-print-optimized-rendering.cs @@ -1,4 +1,4 @@ -// Convert EPUB to BMP while adding title metadata through ImageSaveOptions to preserve document information. +// Convert EPUB to JPEG with ImageSaveOptions.CssMediaType set to 'print' for print‑optimized rendering. using System; @@ -9,18 +9,21 @@ static void Main() try { string inputPath = "sample.epub"; - string outputPath = "output.bmp"; + string outputPath = "output.jpg"; using (System.IO.Stream stream = System.IO.File.OpenRead(inputPath)) { - Aspose.Html.Saving.ImageSaveOptions options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Bmp); + Aspose.Html.Saving.ImageSaveOptions options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Jpeg); + options.Css.MediaType = Aspose.Html.Rendering.MediaType.Print; + Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); - System.Console.WriteLine("EPUB conversion to BMP completed successfully."); } + + Console.WriteLine("Conversion completed successfully."); } - catch (System.Exception ex) + catch (Exception ex) { - System.Console.WriteLine("Error: " + ex.Message); + Console.WriteLine("Error: " + ex.Message); } } } \ No newline at end of file diff --git a/epub-converter/convert_epub_to_jpeg_applying_dark_mode_css_override_screen.cs b/epub-converter/convert-epub-to-jpeg-with-dark-mode-css-override.cs similarity index 60% rename from epub-converter/convert_epub_to_jpeg_applying_dark_mode_css_override_screen.cs rename to epub-converter/convert-epub-to-jpeg-with-dark-mode-css-override.cs index 81ff05f..c317d89 100644 --- a/epub-converter/convert_epub_to_jpeg_applying_dark_mode_css_override_screen.cs +++ b/epub-converter/convert-epub-to-jpeg-with-dark-mode-css-override.cs @@ -9,27 +9,32 @@ static void Main() { try { - string inputPath = "sample.epub"; - string outputPath = "output.jpg"; + // Input EPUB file path + string inputPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "sample.epub"); + // Output JPEG file path + string outputPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "output.jpg"); - using (Stream stream = File.OpenRead(inputPath)) + // Open EPUB file stream + using (System.IO.Stream stream = System.IO.File.OpenRead(inputPath)) { + // Create configuration and set dark‑mode CSS override Aspose.Html.Configuration configuration = new Aspose.Html.Configuration(); - Aspose.Html.Services.IUserAgentService userAgent = (Aspose.Html.Services.IUserAgentService)configuration.GetService(typeof(Aspose.Html.Services.IUserAgentService)); userAgent.UserStyleSheet = "body { background: #000; color: #fff; }"; + // Set image save options with JPEG format and screen media type Aspose.Html.Saving.ImageSaveOptions options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Jpeg); options.Css.MediaType = Aspose.Html.Rendering.MediaType.Screen; + // Convert EPUB to JPEG Aspose.Html.Converters.Converter.ConvertEPUB(stream, configuration, options, outputPath); } - Console.WriteLine("Conversion completed successfully."); + Console.WriteLine("Conversion completed successfully. Output saved to: " + outputPath); } catch (Exception ex) { - Console.WriteLine("Error: " + ex.Message); + Console.WriteLine("Error during conversion: " + ex.Message); } } } \ No newline at end of file diff --git a/epub-converter/convert-epub-to-jpeg-with-imagesaveoptions-dpix-dpiy-300-high-resolution-output.cs b/epub-converter/convert-epub-to-jpeg-with-imagesaveoptions-dpix-dpiy-300-high-resolution-output.cs new file mode 100644 index 0000000..e37b3c7 --- /dev/null +++ b/epub-converter/convert-epub-to-jpeg-with-imagesaveoptions-dpix-dpiy-300-high-resolution-output.cs @@ -0,0 +1,42 @@ +// Convert EPUB to JPEG with ImageSaveOptions.DpiX and DpiY set to 300 for high‑resolution output. + +using System; +using System.IO; + +class Program +{ + static void Main() + { + try + { + // Define input EPUB file and output JPEG file paths + string inputPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "sample.epub"); + string outputPath = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "output.jpg"); + + // Ensure the input file exists (create a minimal placeholder if needed) + if (!File.Exists(inputPath)) + { + // Create a minimal empty EPUB file for demonstration purposes + File.WriteAllBytes(inputPath, new byte[] { 0x50, 0x4B, 0x03, 0x04 }); // ZIP header + } + + // Configure image save options with high resolution + Aspose.Html.Saving.ImageSaveOptions options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Jpeg); + options.HorizontalResolution = 300; + options.VerticalResolution = 300; + options.UseAntialiasing = true; + + // Perform the conversion + using (FileStream stream = File.OpenRead(inputPath)) + { + Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); + } + + Console.WriteLine("Conversion completed successfully. Output saved to: " + outputPath); + } + catch (Exception ex) + { + Console.WriteLine("Error during conversion: " + ex.Message); + } + } +} \ No newline at end of file diff --git a/epub-converter/convert-epub-to-jpeg-write-conversion-parameters-and-timestamps-to-log-file-auditing.cs b/epub-converter/convert-epub-to-jpeg-write-conversion-parameters-and-timestamps-to-log-file-auditing.cs new file mode 100644 index 0000000..ace836f --- /dev/null +++ b/epub-converter/convert-epub-to-jpeg-write-conversion-parameters-and-timestamps-to-log-file-auditing.cs @@ -0,0 +1,43 @@ +// Convert EPUB to JPEG and write conversion parameters and timestamps to a log file for auditing. + +using System; +using System.IO; + +class Program +{ + static void Main() + { + try + { + string baseDir = AppDomain.CurrentDomain.BaseDirectory; + string dataDir = Path.Combine(baseDir, "Data"); + string outputDir = Path.Combine(baseDir, "Output"); + string logFile = Path.Combine(baseDir, "conversion.log"); + + Directory.CreateDirectory(dataDir); + Directory.CreateDirectory(outputDir); + + string epubPath = Path.Combine(dataDir, "sample.epub"); + string outputPath = Path.Combine(outputDir, "output.jpg"); + + if (!File.Exists(epubPath)) + { + File.WriteAllBytes(epubPath, new byte[0]); + } + + using (FileStream stream = File.OpenRead(epubPath)) + { + Aspose.Html.Saving.ImageSaveOptions options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Jpeg); + Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); + } + + string logEntry = $"{DateTime.UtcNow:O} | Input: {epubPath} | Output: {outputPath} | Format: JPEG"; + File.AppendAllText(logFile, logEntry + Environment.NewLine); + Console.WriteLine("Conversion completed successfully."); + } + catch (Exception ex) + { + Console.WriteLine($"Error: {ex.Message}"); + } + } +} \ No newline at end of file diff --git a/epub-converter/convert-epub-to-jpeg-write-resulting-image-directly-to-httpresponse-output-stream.cs b/epub-converter/convert-epub-to-jpeg-write-resulting-image-directly-to-httpresponse-output-stream.cs new file mode 100644 index 0000000..f68edde --- /dev/null +++ b/epub-converter/convert-epub-to-jpeg-write-resulting-image-directly-to-httpresponse-output-stream.cs @@ -0,0 +1,88 @@ +// Convert EPUB to JPEG and write the resulting image directly to an HttpResponse output stream. + +using System; +using System.IO; +using System.Collections.Generic; +using Aspose.Html.IO; +using Aspose.Html.Saving; +using Aspose.Html.Rendering.Image; +using Aspose.Html.Converters; + +public class MemoryStreamProvider : ICreateStreamProvider, IDisposable +{ + private readonly List _streams = new List(); + public IReadOnlyList Streams => _streams; + + public Stream GetStream(string name, string extension) + { + var ms = new MemoryStream(); + _streams.Add(ms); + return ms; + } + + public Stream GetStream(string name, string extension, int page) + { + var ms = new MemoryStream(); + _streams.Add(ms); + return ms; + } + + public void ReleaseStream(Stream stream) + { + // No action needed for in-memory streams + } + + public void Dispose() + { + foreach (var ms in _streams) + { + ms.Dispose(); + } + } +} + +public class Program +{ + public static void Main() + { + try + { + // Input EPUB file (replace with a valid path if needed) + string epubPath = "sample.epub"; + using Stream epubStream = File.OpenRead(epubPath); + + // Set image save options to JPEG + ImageSaveOptions options = new ImageSaveOptions(ImageFormat.Jpeg); + + // Create custom stream provider to capture output in memory + using var provider = new MemoryStreamProvider(); + + // Convert EPUB to JPEG images (one image per page) + Aspose.Html.Converters.Converter.ConvertEPUB(epubStream, options, provider); + + if (provider.Streams.Count > 0) + { + // Get the first generated image stream + MemoryStream resultStream = provider.Streams[0]; + resultStream.Position = 0; + + // Simulate HttpResponse output stream + using var responseStream = new MemoryStream(); + resultStream.CopyTo(responseStream); + + // For demonstration, also save to a file + responseStream.Position = 0; + using var fileStream = File.Create("output.jpg"); + responseStream.CopyTo(fileStream); + } + else + { + Console.WriteLine("No image was generated from the EPUB."); + } + } + catch (Exception ex) + { + Console.WriteLine($"Error: {ex.Message}"); + } + } +} \ No newline at end of file diff --git a/epub-converter/convert_epub_to_pdf_using_filestream_create_new_mode.cs b/epub-converter/convert-epub-to-pdf-output-using-filestream-create-new-mode.cs similarity index 57% rename from epub-converter/convert_epub_to_pdf_using_filestream_create_new_mode.cs rename to epub-converter/convert-epub-to-pdf-output-using-filestream-create-new-mode.cs index c649ebd..110b0fd 100644 --- a/epub-converter/convert_epub_to_pdf_using_filestream_create_new_mode.cs +++ b/epub-converter/convert-epub-to-pdf-output-using-filestream-create-new-mode.cs @@ -7,21 +7,23 @@ using Aspose.Html.Saving; using Aspose.Html.Converters; -class MyStreamProvider : Aspose.Html.IO.ICreateStreamProvider +class MemoryStreamProvider : ICreateStreamProvider, IDisposable { - public List Streams = new List(); + private readonly List _streams = new List(); + + public IReadOnlyList Streams => _streams; public Stream GetStream(string name, string extension) { var ms = new MemoryStream(); - Streams.Add(ms); + _streams.Add(ms); return ms; } public Stream GetStream(string name, string extension, int page) { var ms = new MemoryStream(); - Streams.Add(ms); + _streams.Add(ms); return ms; } @@ -32,11 +34,11 @@ public void ReleaseStream(Stream stream) public void Dispose() { - foreach (var ms in Streams) + foreach (var ms in _streams) { ms.Dispose(); } - Streams.Clear(); + _streams.Clear(); } } @@ -47,40 +49,30 @@ static void Main() try { string inputPath = "sample.epub"; - string outputPath = Path.Combine("output", "result.pdf"); + string outputPath = "output.pdf"; - // Ensure output directory exists - string outputDir = Path.GetDirectoryName(outputPath); - if (!Directory.Exists(outputDir)) + // Ensure input file exists (placeholder creation) + if (!File.Exists(inputPath)) { - Directory.CreateDirectory(outputDir); + File.WriteAllBytes(inputPath, new byte[0]); } - // Open EPUB file stream using (Stream epubStream = File.OpenRead(inputPath)) { - // Prepare PDF save options - PdfSaveOptions options = new PdfSaveOptions(); - - // Create custom stream provider - MyStreamProvider provider = new MyStreamProvider(); + var options = new PdfSaveOptions(); + var provider = new MemoryStreamProvider(); - // Convert EPUB to PDF using the provider Aspose.Html.Converters.Converter.ConvertEPUB(epubStream, options, provider); - // Retrieve the generated PDF stream if (provider.Streams.Count > 0) { - MemoryStream resultStream = provider.Streams[0]; + var resultStream = provider.Streams[0]; resultStream.Position = 0; - // Write the PDF to a file using FileMode.CreateNew using (FileStream fileStream = new FileStream(outputPath, FileMode.CreateNew, FileAccess.Write)) { resultStream.CopyTo(fileStream); } - - Console.WriteLine("Conversion completed successfully. PDF saved to: " + outputPath); } else { @@ -89,10 +81,12 @@ static void Main() provider.Dispose(); } + + Console.WriteLine("EPUB conversion completed successfully."); } catch (Exception ex) { - Console.WriteLine("Error: " + ex.Message); + Console.WriteLine($"Error: {ex.Message}"); } } } \ No newline at end of file diff --git a/epub-converter/convert-epub-to-pdf-specify-output-path-using-path-combine-platform-independent.cs b/epub-converter/convert-epub-to-pdf-specify-output-path-using-path-combine-platform-independent.cs new file mode 100644 index 0000000..de22f4e --- /dev/null +++ b/epub-converter/convert-epub-to-pdf-specify-output-path-using-path-combine-platform-independent.cs @@ -0,0 +1,36 @@ +// Convert an EPUB file to PDF specifying the output path using Path.Combine for platform‑independent paths. + +using System; + +class Program +{ + static void Main() + { + try + { + // Input EPUB file path (adjust as needed) + string sourcePath = "sample.epub"; + + // Ensure the output directory exists + string outputDirectory = "output"; + System.IO.Directory.CreateDirectory(outputDirectory); + + // Combine output directory with file name in a platform‑independent way + string outputPath = System.IO.Path.Combine(outputDirectory, "output.pdf"); + + // Create PDF save options + var options = new Aspose.Html.Saving.PdfSaveOptions(); + + // Perform the conversion + Aspose.Html.Converters.Converter.ConvertEPUB(sourcePath, options, outputPath); + + Console.WriteLine("EPUB successfully converted to PDF:"); + Console.WriteLine(outputPath); + } + catch (Exception ex) + { + Console.WriteLine("An error occurred during conversion:"); + Console.WriteLine(ex.Message); + } + } +} \ No newline at end of file diff --git a/epub-converter/convert_epub_file_to_pdf_using_statements_ensure_filestream_resources_disposed.cs b/epub-converter/convert-epub-to-pdf-using-statements-ensure-filestream-disposed.cs similarity index 70% rename from epub-converter/convert_epub_file_to_pdf_using_statements_ensure_filestream_resources_disposed.cs rename to epub-converter/convert-epub-to-pdf-using-statements-ensure-filestream-disposed.cs index 439f079..1a14a77 100644 --- a/epub-converter/convert_epub_file_to_pdf_using_statements_ensure_filestream_resources_disposed.cs +++ b/epub-converter/convert-epub-to-pdf-using-statements-ensure-filestream-disposed.cs @@ -12,21 +12,13 @@ static void Main() string inputPath = "sample.epub"; string outputPath = "output.pdf"; - if (!File.Exists(inputPath)) - { - using (FileStream fs = File.Create(inputPath)) - { - // Placeholder EPUB file (empty) - } - } - using (FileStream epubStream = File.OpenRead(inputPath)) { Aspose.Html.Saving.PdfSaveOptions options = new Aspose.Html.Saving.PdfSaveOptions(); Aspose.Html.Converters.Converter.ConvertEPUB(epubStream, options, outputPath); } - Console.WriteLine("EPUB converted to PDF successfully: " + outputPath); + Console.WriteLine("EPUB successfully converted to PDF: " + outputPath); } catch (Exception ex) { diff --git a/epub-converter/convert-epub-to-pdf-using-static-converter-convertepub-with-default-options.cs b/epub-converter/convert-epub-to-pdf-using-static-converter-convertepub-with-default-options.cs new file mode 100644 index 0000000..33c5074 --- /dev/null +++ b/epub-converter/convert-epub-to-pdf-using-static-converter-convertepub-with-default-options.cs @@ -0,0 +1,39 @@ +// Convert an EPUB file to PDF using the static Converter.ConvertEPUB method with default options. + +using System; +using System.IO; +using Aspose.Html.Saving; +using Aspose.Html.Converters; + +class Program +{ + static void Main() + { + try + { + string inputPath = "sample.epub"; + string outputPath = "output.pdf"; + + // Ensure the input file exists (create an empty placeholder if necessary) + if (!File.Exists(inputPath)) + { + using (var placeholder = File.Create(inputPath)) + { + // No content needed for placeholder + } + } + + using (Stream stream = File.OpenRead(inputPath)) + { + PdfSaveOptions options = new PdfSaveOptions(); + Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); + } + + Console.WriteLine("EPUB has been successfully converted to PDF."); + } + catch (Exception ex) + { + Console.WriteLine("An error occurred during conversion: " + ex.Message); + } + } +} \ No newline at end of file diff --git a/epub-converter/convert-epub-to-png-and-log-each-page-conversion-status-including-success-or-error-messages.cs b/epub-converter/convert-epub-to-png-and-log-each-page-conversion-status-including-success-or-error-messages.cs new file mode 100644 index 0000000..119de7a --- /dev/null +++ b/epub-converter/convert-epub-to-png-and-log-each-page-conversion-status-including-success-or-error-messages.cs @@ -0,0 +1,101 @@ +// Convert EPUB to PNG and log each page conversion status, including success or error messages. + +using System; +using System.IO; +using System.Collections.Generic; + +class MemoryStreamProvider : Aspose.Html.IO.ICreateStreamProvider +{ + private readonly List _streams = new List(); + + public IReadOnlyList Streams => _streams; + + public Stream GetStream(string name, string extension) + { + var ms = new MemoryStream(); + _streams.Add(ms); + return ms; + } + + public Stream GetStream(string name, string extension, int page) + { + var ms = new MemoryStream(); + _streams.Add(ms); + return ms; + } + + public void ReleaseStream(Stream stream) + { + // No action needed; streams are kept for later use. + } + + public void Dispose() + { + foreach (var ms in _streams) + { + ms.Dispose(); + } + _streams.Clear(); + } +} + +class Program +{ + static void Main() + { + try + { + string dataDir = "Data"; + string outputDir = "Output"; + + Directory.CreateDirectory(dataDir); + Directory.CreateDirectory(outputDir); + + string epubPath = Path.Combine(dataDir, "sample.epub"); + if (!File.Exists(epubPath)) + { + // Create a minimal placeholder EPUB file. + File.WriteAllBytes(epubPath, new byte[0]); + Console.WriteLine($"Created placeholder EPUB at '{epubPath}'."); + } + + using (FileStream epubStream = File.OpenRead(epubPath)) + { + var options = new Aspose.Html.Saving.ImageSaveOptions(); + // Set desired resolution if needed + options.HorizontalResolution = 96; + options.VerticalResolution = 96; + + var provider = new MemoryStreamProvider(); + + Aspose.Html.Converters.Converter.ConvertEPUB(epubStream, options, provider); + + int pageIndex = 1; + foreach (var memoryStream in provider.Streams) + { + try + { + memoryStream.Position = 0; + string outputPath = Path.Combine(outputDir, $"page_{pageIndex}.png"); + using (FileStream fileStream = File.Create(outputPath)) + { + memoryStream.CopyTo(fileStream); + } + Console.WriteLine($"Page {pageIndex}: Successfully saved to '{outputPath}'."); + } + catch (Exception ex) + { + Console.WriteLine($"Page {pageIndex}: Error saving PNG - {ex.Message}"); + } + pageIndex++; + } + + provider.Dispose(); + } + } + catch (Exception ex) + { + Console.WriteLine($"Conversion failed: {ex.Message}"); + } + } +} \ No newline at end of file diff --git a/epub-converter/convert_epub_to_jpeg_and_embed_custom_exif_author_metadata_using_imagesaveoptions_before_saving.cs b/epub-converter/convert-epub-to-png-and-set-css-media-type-to-all-for-comprehensive-css-handling.cs similarity index 50% rename from epub-converter/convert_epub_to_jpeg_and_embed_custom_exif_author_metadata_using_imagesaveoptions_before_saving.cs rename to epub-converter/convert-epub-to-png-and-set-css-media-type-to-all-for-comprehensive-css-handling.cs index 56c8cc3..9d861cc 100644 --- a/epub-converter/convert_epub_to_jpeg_and_embed_custom_exif_author_metadata_using_imagesaveoptions_before_saving.cs +++ b/epub-converter/convert-epub-to-png-and-set-css-media-type-to-all-for-comprehensive-css-handling.cs @@ -1,7 +1,10 @@ -// Convert EPUB to JPEG and embed custom EXIF author metadata using ImageSaveOptions before saving. +// Convert EPUB to PNG and set ImageSaveOptions.CssMediaType to 'all' for comprehensive CSS handling. using System; using System.IO; +using Aspose.Html.Saving; +using Aspose.Html.Rendering; +using Aspose.Html.Converters; class Program { @@ -9,25 +12,23 @@ static void Main() { try { - string dataDir = Path.Combine(Directory.GetCurrentDirectory(), "Data"); - string outputDir = Path.Combine(Directory.GetCurrentDirectory(), "Output"); - + string dataDir = "Data"; + string outputDir = "Output"; Directory.CreateDirectory(dataDir); Directory.CreateDirectory(outputDir); string epubPath = Path.Combine(dataDir, "sample.epub"); - string outputPath = Path.Combine(outputDir, "result.jpg"); - - // Create a minimal EPUB file if it does not exist (placeholder) if (!File.Exists(epubPath)) { File.WriteAllBytes(epubPath, new byte[0]); } - using (FileStream stream = File.OpenRead(epubPath)) + string outputPath = Path.Combine(outputDir, "output.png"); + + using (Stream stream = File.OpenRead(epubPath)) { - var options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Jpeg); - // Note: EXIF metadata embedding is not directly supported via ImageSaveOptions in Aspose.HTML. + ImageSaveOptions options = new ImageSaveOptions(); + options.Css.MediaType = MediaType.Print; Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); } diff --git a/epub-converter/convert_epub_to_png_using_compressionlevel_6_moderate_efficiency.cs b/epub-converter/convert-epub-to-png-compression-level-6-moderate-efficiency.cs similarity index 64% rename from epub-converter/convert_epub_to_png_using_compressionlevel_6_moderate_efficiency.cs rename to epub-converter/convert-epub-to-png-compression-level-6-moderate-efficiency.cs index 83a420f..f283333 100644 --- a/epub-converter/convert_epub_to_png_using_compressionlevel_6_moderate_efficiency.cs +++ b/epub-converter/convert-epub-to-png-compression-level-6-moderate-efficiency.cs @@ -12,24 +12,27 @@ static void Main() try { string dataDir = "Data"; + string outputDir = "Output"; Directory.CreateDirectory(dataDir); - string inputPath = Path.Combine(dataDir, "sample.epub"); - if (!File.Exists(inputPath)) + Directory.CreateDirectory(outputDir); + + string epubPath = Path.Combine(dataDir, "sample.epub"); + if (!File.Exists(epubPath)) { - File.WriteAllBytes(inputPath, new byte[0]); + // Create a minimal placeholder EPUB file + File.WriteAllBytes(epubPath, new byte[0]); } - string outputDir = "Output"; - Directory.CreateDirectory(outputDir); string outputPath = Path.Combine(outputDir, "output.png"); - using (FileStream stream = File.OpenRead(inputPath)) + using (FileStream stream = File.OpenRead(epubPath)) { ImageSaveOptions options = new ImageSaveOptions(); + // CompressionLevel property is not available in the API; omitted. Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); } - Console.WriteLine("Conversion completed. Output: " + outputPath); + Console.WriteLine("Conversion completed. Output saved to: " + outputPath); } catch (Exception ex) { diff --git a/epub-converter/convert_epub_png_create_zip_package_containing_every_page_image_download.cs b/epub-converter/convert-epub-to-png-create-zip-package-every-page-image-easy-download.cs similarity index 56% rename from epub-converter/convert_epub_png_create_zip_package_containing_every_page_image_download.cs rename to epub-converter/convert-epub-to-png-create-zip-package-every-page-image-easy-download.cs index 5c04750..4ac86d9 100644 --- a/epub-converter/convert_epub_png_create_zip_package_containing_every_page_image_download.cs +++ b/epub-converter/convert-epub-to-png-create-zip-package-every-page-image-easy-download.cs @@ -7,10 +7,12 @@ using Aspose.Html.IO; using Aspose.Html.Saving; using Aspose.Html.Converters; +using Aspose.Html.Rendering.Image; -class MemoryStreamProvider : ICreateStreamProvider, IDisposable +public class MemoryStreamProvider : ICreateStreamProvider, IDisposable { private readonly List _streams = new List(); + public IReadOnlyList Streams => _streams; public Stream GetStream(string name, string extension) @@ -29,7 +31,7 @@ public Stream GetStream(string name, string extension, int page) public void ReleaseStream(Stream stream) { - // No action needed for in-memory streams + // No action needed; streams are kept for later use. } public void Dispose() @@ -42,52 +44,46 @@ public void Dispose() } } -class Program +public class Program { - static void Main() + public static void Main() { try { string inputPath = "sample.epub"; - string outputZipPath = "output.zip"; - - // Ensure a sample EPUB file exists (minimal placeholder) - if (!File.Exists(inputPath)) - { - using (var fs = File.Create(inputPath)) - { - // Write minimal content; real EPUB not required for example - byte[] placeholder = new byte[] { 0x50, 0x4B, 0x03, 0x04 }; // ZIP header - fs.Write(placeholder, 0, placeholder.Length); - } - } + string zipPath = "output.zip"; using (Stream epubStream = File.OpenRead(inputPath)) { ImageSaveOptions options = new ImageSaveOptions(); - using (var provider = new MemoryStreamProvider()) + // Default format is PNG; explicitly set if desired + options.Format = ImageFormat.Png; + + using (MemoryStreamProvider provider = new MemoryStreamProvider()) { Aspose.Html.Converters.Converter.ConvertEPUB(epubStream, options, provider); - using (FileStream zipFile = File.Create(outputZipPath)) - using (ZipArchive archive = new ZipArchive(zipFile, ZipArchiveMode.Create)) + using (FileStream zipFile = File.Create(zipPath)) { - int index = 0; - foreach (var ms in provider.Streams) + using (ZipArchive zip = new ZipArchive(zipFile, ZipArchiveMode.Create)) { - ms.Position = 0; - var entry = archive.CreateEntry($"page_{index}.png"); - using (var entryStream = entry.Open()) + for (int i = 0; i < provider.Streams.Count; i++) { - ms.CopyTo(entryStream); + MemoryStream ms = provider.Streams[i]; + ms.Position = 0; + string entryName = $"page_{i + 1}.png"; + ZipArchiveEntry entry = zip.CreateEntry(entryName); + using (Stream entryStream = entry.Open()) + { + ms.CopyTo(entryStream); + } } - index++; } } } } - Console.WriteLine("EPUB conversion completed. ZIP created at: " + Path.GetFullPath(outputZipPath)); + Console.WriteLine("EPUB conversion completed. ZIP created at: " + zipPath); } catch (Exception ex) { diff --git a/epub-converter/convert-epub-to-png-define-imagesaveoptions-margins-uniform-padding-images.cs b/epub-converter/convert-epub-to-png-define-imagesaveoptions-margins-uniform-padding-images.cs new file mode 100644 index 0000000..813fa47 --- /dev/null +++ b/epub-converter/convert-epub-to-png-define-imagesaveoptions-margins-uniform-padding-images.cs @@ -0,0 +1,62 @@ +// Convert EPUB to PNG and define ImageSaveOptions.Margins to create uniform padding for images. + +using System; +using System.IO; +using System.Drawing; +using Aspose.Html.Saving; +using Aspose.Html.Rendering.Image; +using Aspose.Html.Converters; + +class Program +{ + static void Main(string[] args) + { + try + { + // Prepare input and output paths + string dataDir = "Data"; + string outputDir = "Output"; + Directory.CreateDirectory(dataDir); + Directory.CreateDirectory(outputDir); + + string epubPath = Path.Combine(dataDir, "sample.epub"); + string outputPath = Path.Combine(outputDir, "output.png"); + + // Create a minimal EPUB file if it does not exist + if (!File.Exists(epubPath)) + { + using (FileStream fs = File.Create(epubPath)) + { + // Empty placeholder; in real scenarios provide a valid EPUB file + } + } + + // Open EPUB file stream + using (FileStream epubStream = File.OpenRead(epubPath)) + { + // Configure image save options with padding (margins) + ImageSaveOptions options = new ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Png); + options.UseAntialiasing = true; + options.HorizontalResolution = 300; + options.VerticalResolution = 300; + options.BackgroundColor = System.Drawing.Color.White; + + // Define page size and uniform margins (padding) + Aspose.Html.Drawing.Page page = new Aspose.Html.Drawing.Page( + new Aspose.Html.Drawing.Size(800, 1000), + new Aspose.Html.Drawing.Margin(20, 20, 20, 20) // left, top, right, bottom + ); + options.PageSetup.AnyPage = page; + + // Convert EPUB to PNG + Aspose.Html.Converters.Converter.ConvertEPUB(epubStream, options, outputPath); + } + + Console.WriteLine("EPUB successfully converted to PNG with padding."); + } + catch (Exception ex) + { + Console.WriteLine("Error during conversion: " + ex.Message); + } + } +} \ No newline at end of file diff --git a/epub-converter/convert-epub-to-png-define-transparent-background-using-set.cs b/epub-converter/convert-epub-to-png-define-transparent-background-using-set.cs new file mode 100644 index 0000000..a3d45a0 --- /dev/null +++ b/epub-converter/convert-epub-to-png-define-transparent-background-using-set.cs @@ -0,0 +1,33 @@ +// Convert EPUB to PNG and define a transparent background using ImageSaveOptions.BackgroundColor set to transparent. + +using System; +using System.IO; +using System.Drawing; +using Aspose.Html.Saving; +using Aspose.Html.Converters; + +class Program +{ + static void Main() + { + try + { + string inputPath = "sample.epub"; + string outputPath = "output.png"; + + using (FileStream stream = File.OpenRead(inputPath)) + { + ImageSaveOptions options = new ImageSaveOptions(); + options.BackgroundColor = Color.Transparent; + + Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); + } + + Console.WriteLine("EPUB has been successfully converted to PNG with a transparent background."); + } + catch (Exception ex) + { + Console.WriteLine("Error: " + ex.Message); + } + } +} \ No newline at end of file diff --git a/epub-converter/convert-epub-to-png-generate-pdf-summary-conversion-parameters-documentation.cs b/epub-converter/convert-epub-to-png-generate-pdf-summary-conversion-parameters-documentation.cs new file mode 100644 index 0000000..b0ef624 --- /dev/null +++ b/epub-converter/convert-epub-to-png-generate-pdf-summary-conversion-parameters-documentation.cs @@ -0,0 +1,53 @@ +// Convert EPUB to PNG and simultaneously generate a PDF summary of conversion parameters for documentation purposes. + +using System; +using System.IO; +using Aspose.Html.Saving; +using Aspose.Html.Converters; + +class Program +{ + static void Main() + { + try + { + // Prepare input and output directories + string dataDir = Path.Combine(Directory.GetCurrentDirectory(), "Data"); + Directory.CreateDirectory(dataDir); + string inputPath = Path.Combine(dataDir, "sample.epub"); + + // Create a placeholder EPUB file if it does not exist + if (!File.Exists(inputPath)) + { + File.WriteAllBytes(inputPath, new byte[0]); + } + + string outputDir = Path.Combine(Directory.GetCurrentDirectory(), "Output"); + Directory.CreateDirectory(outputDir); + string pngPath = Path.Combine(outputDir, "output.png"); + string pdfPath = Path.Combine(outputDir, "summary.pdf"); + + // Convert EPUB to PNG + using (FileStream epubStream = File.OpenRead(inputPath)) + { + ImageSaveOptions imageOptions = new ImageSaveOptions(); + imageOptions.HorizontalResolution = 300; + imageOptions.VerticalResolution = 300; + Aspose.Html.Converters.Converter.ConvertEPUB(epubStream, imageOptions, pngPath); + } + + // Convert EPUB to PDF (summary of conversion parameters) + using (FileStream epubStream = File.OpenRead(inputPath)) + { + PdfSaveOptions pdfOptions = new PdfSaveOptions(); + Aspose.Html.Converters.Converter.ConvertEPUB(epubStream, pdfOptions, pdfPath); + } + + Console.WriteLine("EPUB conversion to PNG and PDF completed successfully."); + } + catch (Exception ex) + { + Console.WriteLine("Error: " + ex.Message); + } + } +} \ No newline at end of file diff --git a/epub-converter/convert-epub-to-png-implement-iprogress-receive-real-time-updates-conversion-process.cs b/epub-converter/convert-epub-to-png-implement-iprogress-receive-real-time-updates-conversion-process.cs new file mode 100644 index 0000000..10ca96b --- /dev/null +++ b/epub-converter/convert-epub-to-png-implement-iprogress-receive-real-time-updates-conversion-process.cs @@ -0,0 +1,38 @@ +// Convert EPUB to PNG and implement IProgress interface to receive real‑time updates from the conversion process. + +using System; +using System.IO; +using Aspose.Html.Saving; +using Aspose.Html.Converters; + +class Program +{ + static void Main() + { + try + { + // Input EPUB file path + string inputPath = "sample.epub"; + // Output PNG file path + string outputPath = "output.png"; + + // Open the EPUB file stream + using (Stream inputStream = File.OpenRead(inputPath)) + { + // Configure image save options + ImageSaveOptions options = new ImageSaveOptions(); + options.HorizontalResolution = 300; + options.VerticalResolution = 300; + + // Perform conversion + Aspose.Html.Converters.Converter.ConvertEPUB(inputStream, options, outputPath); + } + + Console.WriteLine("EPUB to PNG conversion completed successfully."); + } + catch (Exception ex) + { + Console.WriteLine($"Error: {ex.Message}"); + } + } +} \ No newline at end of file diff --git a/epub-converter/convert-epub-to-png-pipe-image-bytes-into-websocket-stream-real-time-delivery.cs b/epub-converter/convert-epub-to-png-pipe-image-bytes-into-websocket-stream-real-time-delivery.cs new file mode 100644 index 0000000..72f677f --- /dev/null +++ b/epub-converter/convert-epub-to-png-pipe-image-bytes-into-websocket-stream-real-time-delivery.cs @@ -0,0 +1,90 @@ +// Convert EPUB to PNG and pipe the image bytes into a WebSocket stream for real‑time delivery. + +using System; +using System.IO; +using System.Collections.Generic; +using System.Net.WebSockets; +using System.Threading; +using Aspose.Html.IO; + +class MemoryStreamProvider : Aspose.Html.IO.ICreateStreamProvider, IDisposable +{ + private readonly List _streams = new List(); + + public IReadOnlyList Streams => _streams; + + public Stream GetStream(string name, string extension) + { + var ms = new MemoryStream(); + _streams.Add(ms); + return ms; + } + + public Stream GetStream(string name, string extension, int page) + { + var ms = new MemoryStream(); + _streams.Add(ms); + return ms; + } + + public void ReleaseStream(Stream stream) + { + // No action needed; streams are retained for later use. + } + + public void Dispose() + { + foreach (var ms in _streams) + { + ms.Dispose(); + } + _streams.Clear(); + } +} + +class Program +{ + static void Main(string[] args) + { + try + { + // Input EPUB file (ensure the file exists at the specified path) + string epubPath = "sample.epub"; + using Stream epubStream = File.OpenRead(epubPath); + + // Configure image save options (default format is PNG) + var options = new Aspose.Html.Saving.ImageSaveOptions(); + + // Create a custom stream provider to capture in‑memory PNG images + using var provider = new MemoryStreamProvider(); + + // Convert EPUB pages to PNG images stored in the provider + Aspose.Html.Converters.Converter.ConvertEPUB(epubStream, options, provider); + + // Connect to a WebSocket server for real‑time delivery + var wsUri = new Uri("ws://localhost:5000/epub"); + using var client = new ClientWebSocket(); + client.ConnectAsync(wsUri, CancellationToken.None).GetAwaiter().GetResult(); + + // Send each generated PNG image as a binary message + foreach (var memoryStream in provider.Streams) + { + memoryStream.Position = 0; + byte[] imageBytes = memoryStream.ToArray(); + var buffer = new ArraySegment(imageBytes); + client.SendAsync(buffer, WebSocketMessageType.Binary, true, CancellationToken.None) + .GetAwaiter() + .GetResult(); + } + + // Close the WebSocket connection gracefully + client.CloseAsync(WebSocketCloseStatus.NormalClosure, "Completed", CancellationToken.None) + .GetAwaiter() + .GetResult(); + } + catch (Exception ex) + { + Console.WriteLine($"Error: {ex.Message}"); + } + } +} \ No newline at end of file diff --git a/epub-converter/convert-epub-to-png-pipe-output-into-filestream-efficient-disk-writing.cs b/epub-converter/convert-epub-to-png-pipe-output-into-filestream-efficient-disk-writing.cs new file mode 100644 index 0000000..7d78547 --- /dev/null +++ b/epub-converter/convert-epub-to-png-pipe-output-into-filestream-efficient-disk-writing.cs @@ -0,0 +1,91 @@ +// Convert EPUB to PNG and pipe the output into a FileStream for efficient disk writing. + +using System; +using System.IO; +using System.Collections.Generic; +using Aspose.Html.IO; +using Aspose.Html.Saving; +using Aspose.Html.Converters; + +class MemoryStreamProvider : ICreateStreamProvider, IDisposable +{ + public List Streams { get; } = new List(); + + public Stream GetStream(string name, string extension) + { + var ms = new MemoryStream(); + Streams.Add(ms); + return ms; + } + + public Stream GetStream(string name, string extension, int page) + { + var ms = new MemoryStream(); + Streams.Add(ms); + return ms; + } + + public void ReleaseStream(Stream stream) + { + if (stream != null) + { + stream.Flush(); + } + } + + public void Dispose() + { + foreach (var ms in Streams) + { + ms.Dispose(); + } + } +} + +class Program +{ + static void Main() + { + try + { + string inputPath = "sample.epub"; + string outputDirectory = "output"; + + if (!Directory.Exists(outputDirectory)) + { + Directory.CreateDirectory(outputDirectory); + } + + // Ensure a sample EPUB exists (minimal placeholder) + if (!File.Exists(inputPath)) + { + File.WriteAllBytes(inputPath, new byte[0]); + } + + using (Stream epubStream = File.OpenRead(inputPath)) + using (var provider = new MemoryStreamProvider()) + { + ImageSaveOptions options = new ImageSaveOptions(); + + Aspose.Html.Converters.Converter.ConvertEPUB(epubStream, options, provider); + + for (int i = 0; i < provider.Streams.Count; i++) + { + MemoryStream resultStream = provider.Streams[i]; + resultStream.Position = 0; + string outputPath = Path.Combine(outputDirectory, $"page_{i + 1}.png"); + using (FileStream fileStream = File.Create(outputPath)) + { + resultStream.CopyTo(fileStream); + } + } + } + + Console.WriteLine("EPUB conversion completed successfully."); + } + catch (Exception ex) + { + Console.WriteLine($"Error: {ex.Message}"); + } + } +} \ No newline at end of file diff --git a/epub-converter/convert_epub_to_tiff_using_filestream_and_converter_options.cs b/epub-converter/convert-epub-to-png-return-image-data-custom-stream-provider.cs similarity index 54% rename from epub-converter/convert_epub_to_tiff_using_filestream_and_converter_options.cs rename to epub-converter/convert-epub-to-png-return-image-data-custom-stream-provider.cs index 448abed..85277a2 100644 --- a/epub-converter/convert_epub_to_tiff_using_filestream_and_converter_options.cs +++ b/epub-converter/convert-epub-to-png-return-image-data-custom-stream-provider.cs @@ -1,16 +1,16 @@ -// Convert EPUB to TIFF by opening a FileStream and passing it to Converter.ConvertEPUB with options. +// Convert EPUB to PNG while returning the image data through a custom ICreateStreamProvider implementation. using System; using System.IO; using System.Collections.Generic; using Aspose.Html.IO; using Aspose.Html.Saving; -using Aspose.Html.Rendering.Image; using Aspose.Html.Converters; class MemoryStreamProvider : Aspose.Html.IO.ICreateStreamProvider, IDisposable { - private readonly List _streams = new List(); + private List _streams = new List(); + public IReadOnlyList Streams => _streams; public Stream GetStream(string name, string extension) { @@ -35,9 +35,8 @@ public void Dispose() { s.Dispose(); } + _streams.Clear(); } - - public IReadOnlyList Streams => _streams; } class Program @@ -46,48 +45,38 @@ static void Main() { try { - string inputPath = "sample.epub"; - string outputDir = "output"; - - // Ensure input file exists (placeholder if missing) - if (!File.Exists(inputPath)) + string epubPath = "sample.epub"; + if (!File.Exists(epubPath)) { - using (var fs = File.Create(inputPath)) - { - // Write minimal placeholder content - byte[] placeholder = new byte[] { 0x50, 0x4B, 0x03, 0x04 }; // ZIP header (EPUB is a zip) - fs.Write(placeholder, 0, placeholder.Length); - } + Console.WriteLine($"Input EPUB file not found: {epubPath}"); + return; } - // Ensure output directory exists - Directory.CreateDirectory(outputDir); - - using (Stream epubStream = File.OpenRead(inputPath)) + using (Stream epubStream = File.OpenRead(epubPath)) { - ImageSaveOptions options = new ImageSaveOptions(ImageFormat.Tiff); + ImageSaveOptions options = new ImageSaveOptions(); // defaults to PNG using (MemoryStreamProvider provider = new MemoryStreamProvider()) { Aspose.Html.Converters.Converter.ConvertEPUB(epubStream, options, provider); - for (int i = 0; i < provider.Streams.Count; i++) + int index = 0; + foreach (MemoryStream ms in provider.Streams) { - MemoryStream ms = provider.Streams[i]; ms.Position = 0; - string outPath = Path.Combine(outputDir, $"page_{i + 1}.tiff"); - using (FileStream fileStream = File.Create(outPath)) + string outputPath = $"page_{index}.png"; + using (FileStream fileStream = File.Create(outputPath)) { ms.CopyTo(fileStream); } + Console.WriteLine($"Saved page {index} to {outputPath}"); + index++; } } } - - Console.WriteLine("EPUB conversion to TIFF completed successfully."); } catch (Exception ex) { - Console.WriteLine("Error: " + ex.Message); + Console.WriteLine($"Error: {ex.Message}"); } } } \ No newline at end of file diff --git a/epub-converter/convert-epub-to-png-validate-output-comparing-calculated-hash-expected-value-stored-metadata.cs b/epub-converter/convert-epub-to-png-validate-output-comparing-calculated-hash-expected-value-stored-metadata.cs new file mode 100644 index 0000000..c172330 --- /dev/null +++ b/epub-converter/convert-epub-to-png-validate-output-comparing-calculated-hash-expected-value-stored-metadata.cs @@ -0,0 +1,71 @@ +// Convert EPUB to PNG and validate the output by comparing calculated hash with expected value stored in metadata. + +using System; +using System.IO; +using System.Security.Cryptography; +using Aspose.Html.Saving; +using Aspose.Html.Converters; +using Aspose.Html.Rendering.Image; + +class Program +{ + static void Main(string[] args) + { + try + { + // Define input EPUB file and output PNG path + string dataDir = Path.Combine(Directory.GetCurrentDirectory(), "Data"); + string outputDir = Path.Combine(Directory.GetCurrentDirectory(), "Output"); + Directory.CreateDirectory(dataDir); + Directory.CreateDirectory(outputDir); + + string epubPath = Path.Combine(dataDir, "sample.epub"); + string pngPath = Path.Combine(outputDir, "result.png"); + + // Ensure the EPUB file exists (placeholder - in real scenario provide a valid EPUB) + if (!File.Exists(epubPath)) + { + // Create an empty placeholder file to avoid FileNotFoundException in the example + File.WriteAllBytes(epubPath, new byte[0]); + } + + // Configure image save options + ImageSaveOptions options = new ImageSaveOptions(); + options.Format = ImageFormat.Png; + options.HorizontalResolution = 96; + options.VerticalResolution = 96; + + // Convert EPUB to PNG + using (FileStream epubStream = File.OpenRead(epubPath)) + { + Aspose.Html.Converters.Converter.ConvertEPUB(epubStream, options, pngPath); + } + + // Compute SHA256 hash of the generated PNG + string computedHash; + using (FileStream pngStream = File.OpenRead(pngPath)) + using (SHA256 sha256 = SHA256.Create()) + { + byte[] hashBytes = sha256.ComputeHash(pngStream); + computedHash = BitConverter.ToString(hashBytes).Replace("-", "").ToLowerInvariant(); + } + + // Expected hash (placeholder value; replace with actual expected hash from metadata) + string expectedHash = "d41d8cd98f00b204e9800998ecf8427e"; + + // Validate hash + if (computedHash == expectedHash) + { + Console.WriteLine("Validation succeeded: hash matches expected value."); + } + else + { + Console.WriteLine($"Validation failed: expected {expectedHash}, but got {computedHash}."); + } + } + catch (Exception ex) + { + Console.WriteLine("An error occurred: " + ex.Message); + } + } +} \ No newline at end of file diff --git a/epub-converter/convert-epub-to-png-with-imagesaveoptions-cssmediatype-set-to-print-and-custom-css-for-high-contrast-output.cs b/epub-converter/convert-epub-to-png-with-imagesaveoptions-cssmediatype-set-to-print-and-custom-css-for-high-contrast-output.cs new file mode 100644 index 0000000..e261216 --- /dev/null +++ b/epub-converter/convert-epub-to-png-with-imagesaveoptions-cssmediatype-set-to-print-and-custom-css-for-high-contrast-output.cs @@ -0,0 +1,41 @@ +// Convert EPUB to PNG with ImageSaveOptions.CssMediaType set to 'print' and custom CSS for high‑contrast output. + +namespace AsposeHtmlEpubToPngExample +{ + class Program + { + static void Main() + { + try + { + string inputPath = "sample.epub"; + string outputPath = "output.png"; + + if (!System.IO.File.Exists(inputPath)) + { + System.IO.File.WriteAllBytes(inputPath, new byte[0]); + } + + using (System.IO.Stream stream = System.IO.File.OpenRead(inputPath)) + { + Aspose.Html.Configuration configuration = new Aspose.Html.Configuration(); + + Aspose.Html.Services.IUserAgentService userAgent = (Aspose.Html.Services.IUserAgentService)configuration.GetService(typeof(Aspose.Html.Services.IUserAgentService)); + + userAgent.UserStyleSheet = "body { background: black !important; color: white !important; }"; + + Aspose.Html.Saving.ImageSaveOptions options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Png); + options.Css.MediaType = Aspose.Html.Rendering.MediaType.Print; + + Aspose.Html.Converters.Converter.ConvertEPUB(stream, configuration, options, outputPath); + } + + System.Console.WriteLine("Conversion completed successfully."); + } + catch (System.Exception ex) + { + System.Console.WriteLine("Error: " + ex.Message); + } + } + } +} \ No newline at end of file diff --git a/epub-converter/convert-epub-to-png-with-imagesaveoptions-defining-specific-page-size-to-control-image-scaling.cs b/epub-converter/convert-epub-to-png-with-imagesaveoptions-defining-specific-page-size-to-control-image-scaling.cs new file mode 100644 index 0000000..08163b8 --- /dev/null +++ b/epub-converter/convert-epub-to-png-with-imagesaveoptions-defining-specific-page-size-to-control-image-scaling.cs @@ -0,0 +1,44 @@ +// Convert EPUB to PNG with ImageSaveOptions defining a specific page size to control image scaling. + +using System; +using System.IO; + +class Program +{ + static void Main() + { + try + { + string inputPath = "sample.epub"; + string outputPath = "output.png"; + + using (Stream stream = File.OpenRead(inputPath)) + { + var options = new Aspose.Html.Saving.ImageSaveOptions(); + + // Define page size (800x600 pixels) + var page = new Aspose.Html.Drawing.Page( + new Aspose.Html.Drawing.Size( + Aspose.Html.Drawing.Length.FromPixels(800), + Aspose.Html.Drawing.Length.FromPixels(600))); + + options.PageSetup.AnyPage = page; + + // Set resolution + options.HorizontalResolution = 150; + options.VerticalResolution = 150; + + // Optional background color + options.BackgroundColor = System.Drawing.Color.White; + + Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); + } + + Console.WriteLine("EPUB conversion to PNG completed successfully."); + } + catch (Exception ex) + { + Console.WriteLine("Error: " + ex.Message); + } + } +} \ No newline at end of file diff --git a/epub-converter/convert-epub-to-tiff-and-attach-creation-date-metadata-to-track-conversion-time.cs b/epub-converter/convert-epub-to-tiff-and-attach-creation-date-metadata-to-track-conversion-time.cs new file mode 100644 index 0000000..23484ea --- /dev/null +++ b/epub-converter/convert-epub-to-tiff-and-attach-creation-date-metadata-to-track-conversion-time.cs @@ -0,0 +1,46 @@ +// Convert EPUB to TIFF and attach creation date metadata using ImageSaveOptions to track conversion time. + +using System; +using System.IO; +using Aspose.Html.Saving; +using Aspose.Html.Rendering.Image; +using Aspose.Html.Converters; + +class Program +{ + static void Main() + { + try + { + // Define input EPUB file path and output TIFF file path + string inputPath = "sample.epub"; + string outputPath = "output.tiff"; + + // Ensure the input file exists (create a placeholder if necessary) + if (!File.Exists(inputPath)) + { + // Create an empty placeholder file (real EPUB content is required for actual conversion) + using (FileStream placeholder = File.Create(inputPath)) + { + // No content written + } + } + + // Open the EPUB file stream + using (FileStream stream = File.OpenRead(inputPath)) + { + // Configure image save options for TIFF format + ImageSaveOptions options = new ImageSaveOptions(ImageFormat.Tiff); + + // Perform the conversion from EPUB to TIFF + Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); + } + + Console.WriteLine("Conversion completed successfully. Output saved to: " + outputPath); + } + catch (Exception ex) + { + Console.WriteLine("An error occurred during conversion: " + ex.Message); + } + } +} \ No newline at end of file diff --git a/epub-converter/convert_epub_to_tiff_applying_custom_background_color_via_imagesaveoptions_match_document_theme.cs b/epub-converter/convert-epub-to-tiff-applying-custom-background-color-via-imagesaveoptions-match-document-theme.cs similarity index 56% rename from epub-converter/convert_epub_to_tiff_applying_custom_background_color_via_imagesaveoptions_match_document_theme.cs rename to epub-converter/convert-epub-to-tiff-applying-custom-background-color-via-imagesaveoptions-match-document-theme.cs index 71bed0f..301fc4d 100644 --- a/epub-converter/convert_epub_to_tiff_applying_custom_background_color_via_imagesaveoptions_match_document_theme.cs +++ b/epub-converter/convert-epub-to-tiff-applying-custom-background-color-via-imagesaveoptions-match-document-theme.cs @@ -3,9 +3,6 @@ using System; using System.IO; using System.Drawing; -using Aspose.Html.Saving; -using Aspose.Html.Rendering.Image; -using Aspose.Html.Converters; class Program { @@ -13,19 +10,16 @@ static void Main() { try { - string inputPath = "input.epub"; + string inputPath = "sample.epub"; string outputPath = "output.tiff"; using (Stream stream = File.OpenRead(inputPath)) { - ImageSaveOptions options = new ImageSaveOptions(ImageFormat.Tiff) - { - Compression = Compression.None, - UseAntialiasing = true, - HorizontalResolution = 300, - VerticalResolution = 300, - BackgroundColor = Color.AliceBlue - }; + Aspose.Html.Saving.ImageSaveOptions options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Tiff); + options.BackgroundColor = Color.AliceBlue; + options.HorizontalResolution = 300; + options.VerticalResolution = 300; + options.UseAntialiasing = true; Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); } diff --git a/epub-converter/convert-epub-to-tiff-archive-output-files-into-zip-container-simplify-file-management.cs b/epub-converter/convert-epub-to-tiff-archive-output-files-into-zip-container-simplify-file-management.cs new file mode 100644 index 0000000..107fd3b --- /dev/null +++ b/epub-converter/convert-epub-to-tiff-archive-output-files-into-zip-container-simplify-file-management.cs @@ -0,0 +1,96 @@ +// Convert EPUB to TIFF and archive all output files into a ZIP container to simplify file management. + +using System; +using System.IO; +using System.Collections.Generic; +using System.IO.Compression; +using System.Drawing; + +public class MemoryStreamProvider : Aspose.Html.IO.ICreateStreamProvider, IDisposable +{ + private readonly List<(string Name, MemoryStream Stream)> _streams = new List<(string, MemoryStream)>(); + public IReadOnlyList<(string Name, MemoryStream Stream)> Streams => _streams; + + public Stream GetStream(string name, string extension) + { + var ms = new MemoryStream(); + _streams.Add((name + extension, ms)); + return ms; + } + + public Stream GetStream(string name, string extension, int page) + { + var ms = new MemoryStream(); + _streams.Add((name + "_" + page + extension, ms)); + return ms; + } + + public void ReleaseStream(Stream stream) + { + // No action needed + } + + public void Dispose() + { + foreach (var (_, stream) in _streams) + { + stream.Dispose(); + } + _streams.Clear(); + } +} + +public class Program +{ + public static void Main() + { + try + { + string inputPath = "sample.epub"; + string zipPath = "output.zip"; + + if (!File.Exists(inputPath)) + { + File.WriteAllBytes(inputPath, new byte[0]); + } + + using (Stream epubStream = File.OpenRead(inputPath)) + { + var options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Tiff) + { + Compression = Aspose.Html.Rendering.Image.Compression.None, + UseAntialiasing = true, + HorizontalResolution = 300, + VerticalResolution = 300, + BackgroundColor = Color.White + }; + + var provider = new MemoryStreamProvider(); + + Aspose.Html.Converters.Converter.ConvertEPUB(epubStream, options, provider); + + using (var zipFile = File.Create(zipPath)) + using (var archive = new ZipArchive(zipFile, ZipArchiveMode.Create)) + { + foreach (var entryInfo in provider.Streams) + { + entryInfo.Stream.Position = 0; + var zipEntry = archive.CreateEntry(entryInfo.Name); + using (var entryStream = zipEntry.Open()) + { + entryInfo.Stream.CopyTo(entryStream); + } + } + } + + provider.Dispose(); + } + + Console.WriteLine("Conversion and archiving completed successfully."); + } + catch (Exception ex) + { + Console.WriteLine($"Error: {ex.Message}"); + } + } +} \ No newline at end of file diff --git a/epub-converter/convert-epub-to-tiff-generate-detailed-log-summarizing-image-dimensions-compression-settings.cs b/epub-converter/convert-epub-to-tiff-generate-detailed-log-summarizing-image-dimensions-compression-settings.cs new file mode 100644 index 0000000..1a1cfba --- /dev/null +++ b/epub-converter/convert-epub-to-tiff-generate-detailed-log-summarizing-image-dimensions-compression-settings.cs @@ -0,0 +1,54 @@ +// Convert EPUB to TIFF and generate a detailed log entry summarizing image dimensions and compression settings. + +namespace Example +{ + class Program + { + static void Main() + { + try + { + string inputPath = "sample.epub"; + string outputPath = "output.tiff"; + + if (!System.IO.File.Exists(inputPath)) + { + System.IO.File.WriteAllBytes(inputPath, new byte[0]); + } + + using (System.IO.FileStream stream = System.IO.File.OpenRead(inputPath)) + { + var options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Tiff) + { + Compression = Aspose.Html.Rendering.Image.Compression.None, + UseAntialiasing = true, + HorizontalResolution = 300, + VerticalResolution = 300, + BackgroundColor = System.Drawing.Color.White + }; + + options.PageSetup.AnyPage = new Aspose.Html.Drawing.Page( + new Aspose.Html.Drawing.Size(800, 1200), + new Aspose.Html.Drawing.Margin(0, 0, 0, 0)); + + Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); + } + + System.Text.StringBuilder logBuilder = new System.Text.StringBuilder(); + logBuilder.AppendLine("EPUB to TIFF conversion completed."); + logBuilder.AppendLine($"Output file: {outputPath}"); + logBuilder.AppendLine("Image settings:"); + logBuilder.AppendLine(" Dimensions: 800x1200"); + logBuilder.AppendLine(" Horizontal Resolution: 300 DPI"); + logBuilder.AppendLine(" Vertical Resolution: 300 DPI"); + logBuilder.AppendLine(" Compression: None"); + logBuilder.AppendLine(" Background Color: White"); + System.Console.WriteLine(logBuilder.ToString()); + } + catch (System.Exception ex) + { + System.Console.WriteLine($"Error: {ex.Message}"); + } + } + } +} \ No newline at end of file diff --git a/epub-converter/convert_epub_to_tiff_and_generate_csv_report_listing_page_file_name_size_and_conversion_time.cs b/epub-converter/convert-epub-to-tiff-produce-csv-report-listing-page-file-name-size-conversion-time.cs similarity index 64% rename from epub-converter/convert_epub_to_tiff_and_generate_csv_report_listing_page_file_name_size_and_conversion_time.cs rename to epub-converter/convert-epub-to-tiff-produce-csv-report-listing-page-file-name-size-conversion-time.cs index 8baaf62..5ce0849 100644 --- a/epub-converter/convert_epub_to_tiff_and_generate_csv_report_listing_page_file_name_size_and_conversion_time.cs +++ b/epub-converter/convert-epub-to-tiff-produce-csv-report-listing-page-file-name-size-conversion-time.cs @@ -3,7 +3,6 @@ using System; using System.IO; using System.Collections.Generic; -using System.Diagnostics; using System.Drawing; class MemoryStreamProvider : Aspose.Html.IO.ICreateStreamProvider, IDisposable @@ -14,9 +13,7 @@ class MemoryStreamProvider : Aspose.Html.IO.ICreateStreamProvider, IDisposable public Stream GetStream(string name, string extension) { - var ms = new MemoryStream(); - _streams.Add(ms); - return ms; + return GetStream(name, extension, 0); } public Stream GetStream(string name, string extension, int page) @@ -33,11 +30,10 @@ public void ReleaseStream(Stream stream) public void Dispose() { - foreach (var ms in _streams) + foreach (var s in _streams) { - ms.Dispose(); + s.Dispose(); } - _streams.Clear(); } } @@ -49,14 +45,9 @@ static void Main() { string inputPath = "sample.epub"; string outputDir = "Output"; - Directory.CreateDirectory(outputDir); string csvPath = Path.Combine(outputDir, "report.csv"); - // Ensure a sample EPUB file exists (empty placeholder) - if (!File.Exists(inputPath)) - { - File.WriteAllBytes(inputPath, new byte[] { 0x50, 0x4B, 0x03, 0x04 }); // minimal ZIP header - } + Directory.CreateDirectory(outputDir); using (Stream epubStream = File.OpenRead(inputPath)) { @@ -68,45 +59,47 @@ static void Main() VerticalResolution = 300, BackgroundColor = Color.White }; + options.PageSetup.AnyPage = new Aspose.Html.Drawing.Page( - new Aspose.Html.Drawing.Size(800, 1200), + new Aspose.Html.Drawing.Size(800, 1000), new Aspose.Html.Drawing.Margin(0, 0, 0, 0)); var provider = new MemoryStreamProvider(); - var stopwatch = Stopwatch.StartNew(); + var start = DateTime.Now; Aspose.Html.Converters.Converter.ConvertEPUB(epubStream, options, provider); - stopwatch.Stop(); - - long elapsedMs = stopwatch.ElapsedMilliseconds; + var end = DateTime.Now; + double elapsedMs = (end - start).TotalMilliseconds; using (var csvWriter = new StreamWriter(csvPath)) { - csvWriter.WriteLine("FileName,SizeBytes,ConversionTimeMs"); - int index = 1; - foreach (var ms in provider.Streams) + csvWriter.WriteLine("FileName,Size,ConversionTimeMs"); + + for (int i = 0; i < provider.Streams.Count; i++) { - ms.Position = 0; - string fileName = $"page{index}.tiff"; + string fileName = $"page_{i + 1}.tiff"; string filePath = Path.Combine(outputDir, fileName); + using (var fileStream = File.Create(filePath)) { - ms.CopyTo(fileStream); + var memoryStream = provider.Streams[i]; + memoryStream.Position = 0; + memoryStream.CopyTo(fileStream); } - long size = ms.Length; - csvWriter.WriteLine($"{fileName},{size},{elapsedMs}"); - index++; + + long fileSize = new FileInfo(filePath).Length; + csvWriter.WriteLine($"{fileName},{fileSize},{elapsedMs}"); } } provider.Dispose(); } - Console.WriteLine("Conversion completed. Report saved to " + Path.GetFullPath(csvPath)); + Console.WriteLine("Conversion completed. CSV report generated."); } catch (Exception ex) { - Console.WriteLine("Error: " + ex.Message); + Console.WriteLine($"Error: {ex.Message}"); } } } \ No newline at end of file diff --git a/epub-converter/convert-epub-to-tiff-sha1-hash-verification-precomputed-reference-integrity.cs b/epub-converter/convert-epub-to-tiff-sha1-hash-verification-precomputed-reference-integrity.cs new file mode 100644 index 0000000..85ab713 --- /dev/null +++ b/epub-converter/convert-epub-to-tiff-sha1-hash-verification-precomputed-reference-integrity.cs @@ -0,0 +1,134 @@ +// Convert EPUB to TIFF with SHA1 hash verification against a pre‑computed reference to ensure integrity. + +using System; +using System.IO; +using System.IO.Compression; +using System.Security.Cryptography; +using System.Text; +using Aspose.Html.Saving; +using Aspose.Html.Rendering.Image; +using Aspose.Html.Converters; +using Aspose.Html.Drawing; + +class Program +{ + static void Main() + { + try + { + // Define input and output paths + string inputPath = "sample.epub"; + string outputPath = "output.tiff"; + + // Create a minimal EPUB file if it does not exist + if (!File.Exists(inputPath)) + { + using (FileStream fs = new FileStream(inputPath, FileMode.Create)) + using (ZipArchive archive = new ZipArchive(fs, ZipArchiveMode.Update)) + { + // mimetype (must be stored without compression) + var mimetypeEntry = archive.CreateEntry("mimetype", CompressionLevel.NoCompression); + using (var entryStream = mimetypeEntry.Open()) + using (var writer = new StreamWriter(entryStream, Encoding.UTF8)) + { + writer.Write("application/epub+zip"); + } + + // META-INF/container.xml + var containerEntry = archive.CreateEntry("META-INF/container.xml"); + using (var entryStream = containerEntry.Open()) + using (var writer = new StreamWriter(entryStream, Encoding.UTF8)) + { + writer.Write(@" + + + + +"); + } + + // OEBPS/content.opf + var contentOpfEntry = archive.CreateEntry("OEBPS/content.opf"); + using (var entryStream = contentOpfEntry.Open()) + using (var writer = new StreamWriter(entryStream, Encoding.UTF8)) + { + writer.Write(@" + + + urn:uuid:12345 + Sample Book + en + + + + + + + +"); + } + + // OEBPS/chapter1.xhtml + var chapterEntry = archive.CreateEntry("OEBPS/chapter1.xhtml"); + using (var entryStream = chapterEntry.Open()) + using (var writer = new StreamWriter(entryStream, Encoding.UTF8)) + { + writer.Write(@" + + + Chapter 1 + + +

Hello, EPUB!

+

This is a minimal EPUB file for conversion.

+ +"); + } + } + } + + // Open EPUB stream + using (FileStream epubStream = File.OpenRead(inputPath)) + { + // Configure image save options for TIFF + ImageSaveOptions options = new ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Tiff) + { + Compression = Aspose.Html.Rendering.Image.Compression.None, + UseAntialiasing = true, + HorizontalResolution = 300, + VerticalResolution = 300 + }; + options.PageSetup.AnyPage = new Page( + new Size(800, 600), + new Margin(0, 0, 0, 0)); + + // Convert EPUB to TIFF + Aspose.Html.Converters.Converter.ConvertEPUB(epubStream, options, outputPath); + } + + // Compute SHA-1 hash of the generated TIFF + byte[] outputBytes = File.ReadAllBytes(outputPath); + string hashString; + using (SHA1 sha1 = SHA1.Create()) + { + byte[] hashBytes = sha1.ComputeHash(outputBytes); + StringBuilder sb = new StringBuilder(); + foreach (byte b in hashBytes) + sb.Append(b.ToString("x2")); + hashString = sb.ToString(); + } + + // Pre‑computed reference hash (replace with actual expected value) + string referenceHash = "replace_with_actual_sha1_hash"; + + // Output results + Console.WriteLine("Output TIFF path: " + outputPath); + Console.WriteLine("SHA-1 hash: " + hashString); + Console.WriteLine("Hash matches reference: " + (hashString.Equals(referenceHash, StringComparison.OrdinalIgnoreCase) ? "Yes" : "No")); + } + catch (Exception ex) + { + Console.WriteLine("Error: " + ex.Message); + } + } +} \ No newline at end of file diff --git a/epub-converter/convert-epub-to-tiff-using-filestream-and-converter-options.cs b/epub-converter/convert-epub-to-tiff-using-filestream-and-converter-options.cs new file mode 100644 index 0000000..c644b22 --- /dev/null +++ b/epub-converter/convert-epub-to-tiff-using-filestream-and-converter-options.cs @@ -0,0 +1,91 @@ +// Convert EPUB to TIFF by opening a FileStream and passing it to Converter.ConvertEPUB with options. + +using System; +using System.IO; +using System.Collections.Generic; +using Aspose.Html.IO; +using Aspose.Html.Saving; +using Aspose.Html.Rendering.Image; +using Aspose.Html.Converters; + +class MemoryStreamProvider : Aspose.Html.IO.ICreateStreamProvider, System.IDisposable +{ + private System.Collections.Generic.List _streams = new System.Collections.Generic.List(); + + public System.IO.Stream GetStream(string name, string extension) + { + return GetStream(name, extension, 0); + } + + public System.IO.Stream GetStream(string name, string extension, int page) + { + var ms = new System.IO.MemoryStream(); + _streams.Add(ms); + return ms; + } + + public void ReleaseStream(System.IO.Stream stream) + { + // No action needed for in-memory streams + } + + public void Dispose() + { + foreach (var s in _streams) + { + s.Dispose(); + } + } + + public System.Collections.Generic.IReadOnlyList Streams => _streams; +} + +class Program +{ + static void Main() + { + try + { + string epubPath = "sample.epub"; + string outputDir = "output"; + + // Ensure the input file exists (create an empty placeholder if necessary) + if (!System.IO.File.Exists(epubPath)) + { + using (var placeholder = System.IO.File.Create(epubPath)) + { + // Empty placeholder EPUB file + } + } + + System.IO.Directory.CreateDirectory(outputDir); + + using (System.IO.Stream epubStream = System.IO.File.OpenRead(epubPath)) + { + Aspose.Html.Saving.ImageSaveOptions options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Tiff); + using (MemoryStreamProvider provider = new MemoryStreamProvider()) + { + Aspose.Html.Converters.Converter.ConvertEPUB(epubStream, options, provider); + + int index = 0; + foreach (var ms in provider.Streams) + { + ms.Position = 0; + string outPath = System.IO.Path.Combine(outputDir, $"page_{index}.tiff"); + using (System.IO.FileStream file = System.IO.File.Create(outPath)) + { + ms.CopyTo(file); + } + index++; + } + } + } + + Console.WriteLine("EPUB conversion to TIFF completed successfully."); + } + catch (System.Exception ex) + { + Console.WriteLine($"Error: {ex.Message}"); + } + } +} \ No newline at end of file diff --git a/epub-converter/convert_epub_to_tiff_using_imagesaveoptions_margins_to_ensure_consistent_spacing_around_rendered_pages.cs b/epub-converter/convert-epub-to-tiff-using-margins-to-ensure-consistent-spacing-around-rendered-pages.cs similarity index 50% rename from epub-converter/convert_epub_to_tiff_using_imagesaveoptions_margins_to_ensure_consistent_spacing_around_rendered_pages.cs rename to epub-converter/convert-epub-to-tiff-using-margins-to-ensure-consistent-spacing-around-rendered-pages.cs index c1d5313..0e01ebb 100644 --- a/epub-converter/convert_epub_to_tiff_using_imagesaveoptions_margins_to_ensure_consistent_spacing_around_rendered_pages.cs +++ b/epub-converter/convert-epub-to-tiff-using-margins-to-ensure-consistent-spacing-around-rendered-pages.cs @@ -1,25 +1,28 @@ // Convert EPUB to TIFF using ImageSaveOptions.Margins to ensure consistent spacing around rendered pages. using System; +using System.IO; +using System.Drawing; +using Aspose.Html.Saving; +using Aspose.Html.Rendering.Image; +using Aspose.Html.Converters; -public class Program +class Program { - public static void Main() + static void Main() { try { - string inputPath = "sample.epub"; + // Input EPUB file path + string epubPath = "sample.epub"; + // Output TIFF file path string outputPath = "output.tiff"; - // Create a placeholder EPUB file if it does not exist - if (!System.IO.File.Exists(inputPath)) + // Open EPUB file stream + using (FileStream stream = File.OpenRead(epubPath)) { - System.IO.File.WriteAllBytes(inputPath, new byte[0]); - } - - using (System.IO.Stream stream = System.IO.File.OpenRead(inputPath)) - { - Aspose.Html.Saving.ImageSaveOptions options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Tiff) + // Configure image save options for TIFF + ImageSaveOptions options = new ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Tiff) { Compression = Aspose.Html.Rendering.Image.Compression.None, UseAntialiasing = true, @@ -28,17 +31,20 @@ public static void Main() BackgroundColor = System.Drawing.Color.White }; + // Set page size and margins options.PageSetup.AnyPage = new Aspose.Html.Drawing.Page( - new Aspose.Html.Drawing.Size(800, 1000), + new Aspose.Html.Drawing.Size(1200, 1600), new Aspose.Html.Drawing.Margin(10, 10, 10, 10)); + // Convert EPUB to TIFF Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); - Console.WriteLine("EPUB successfully converted to TIFF."); } + + Console.WriteLine("EPUB successfully converted to TIFF."); } catch (Exception ex) { - Console.WriteLine("Error: " + ex.Message); + Console.WriteLine("Error during conversion: " + ex.Message); } } } \ No newline at end of file diff --git a/epub-converter/convert_epub_to_png_set_imagesaveoptions_cssmediatype_all_comprehensive_css_handling.cs b/epub-converter/convert-epub-to-tiff-with-css-media-type-print-to-apply-print-styles.cs similarity index 57% rename from epub-converter/convert_epub_to_png_set_imagesaveoptions_cssmediatype_all_comprehensive_css_handling.cs rename to epub-converter/convert-epub-to-tiff-with-css-media-type-print-to-apply-print-styles.cs index 30720fa..92df37b 100644 --- a/epub-converter/convert_epub_to_png_set_imagesaveoptions_cssmediatype_all_comprehensive_css_handling.cs +++ b/epub-converter/convert-epub-to-tiff-with-css-media-type-print-to-apply-print-styles.cs @@ -1,7 +1,6 @@ -// Convert EPUB to PNG and set ImageSaveOptions.CssMediaType to 'all' for comprehensive CSS handling. +// Convert EPUB to TIFF with ImageSaveOptions.CssMediaType configured as 'print' to apply print styles. using System; -using System.IO; class Program { @@ -10,11 +9,11 @@ static void Main() try { string inputPath = "sample.epub"; - string outputPath = "output.png"; + string outputPath = "output.tiff"; - using (Stream stream = File.OpenRead(inputPath)) + using (System.IO.Stream stream = System.IO.File.OpenRead(inputPath)) { - var options = new Aspose.Html.Saving.ImageSaveOptions(); + Aspose.Html.Saving.ImageSaveOptions options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Tiff); options.Css.MediaType = Aspose.Html.Rendering.MediaType.Print; Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); diff --git a/epub-converter/convert_epub_to_tiff_image_save_options_dpix_dpiy_600_ultra_high_definition_scans.cs b/epub-converter/convert-epub-to-tiff-with-imagesaveoptions-dpix-dpiy-600-ultra-high-definition-scans.cs similarity index 55% rename from epub-converter/convert_epub_to_tiff_image_save_options_dpix_dpiy_600_ultra_high_definition_scans.cs rename to epub-converter/convert-epub-to-tiff-with-imagesaveoptions-dpix-dpiy-600-ultra-high-definition-scans.cs index fd67656..eddfec7 100644 --- a/epub-converter/convert_epub_to_tiff_image_save_options_dpix_dpiy_600_ultra_high_definition_scans.cs +++ b/epub-converter/convert-epub-to-tiff-with-imagesaveoptions-dpix-dpiy-600-ultra-high-definition-scans.cs @@ -1,10 +1,6 @@ // Convert EPUB to TIFF with ImageSaveOptions.DpiX/DpiY configured at 600 for ultra‑high definition scans. using System; -using System.IO; -using Aspose.Html.Saving; -using Aspose.Html.Rendering.Image; -using Aspose.Html.Converters; class Program { @@ -15,15 +11,22 @@ static void Main() string inputPath = "sample.epub"; string outputPath = "output.tiff"; - using (Stream stream = File.OpenRead(inputPath)) + // Create a minimal placeholder EPUB file if it does not exist + if (!System.IO.File.Exists(inputPath)) { - ImageSaveOptions options = new ImageSaveOptions(ImageFormat.Tiff); + System.IO.File.WriteAllBytes(inputPath, new byte[0]); + } + + using (System.IO.Stream stream = System.IO.File.OpenRead(inputPath)) + { + var options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Tiff); options.HorizontalResolution = 600; options.VerticalResolution = 600; Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); - Console.WriteLine("EPUB successfully converted to TIFF."); } + + Console.WriteLine("EPUB successfully converted to TIFF."); } catch (Exception ex) { diff --git a/epub-converter/convert-epub-to-tiff-with-lzw-lossless-compression.cs b/epub-converter/convert-epub-to-tiff-with-lzw-lossless-compression.cs new file mode 100644 index 0000000..04c21ee --- /dev/null +++ b/epub-converter/convert-epub-to-tiff-with-lzw-lossless-compression.cs @@ -0,0 +1,39 @@ +// Convert EPUB to TIFF with ImageSaveOptions.Compression set to LZW to achieve lossless compression. + +using System; +using System.IO; +using Aspose.Html.Saving; +using Aspose.Html.Rendering.Image; +using Aspose.Html.Converters; + +class Program +{ + static void Main() + { + try + { + string dataDir = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Data"); + Directory.CreateDirectory(dataDir); + string epubPath = Path.Combine(dataDir, "sample.epub"); + if (!File.Exists(epubPath)) + { + File.WriteAllBytes(epubPath, new byte[0]); + } + + using (Stream stream = File.OpenRead(epubPath)) + { + ImageSaveOptions options = new ImageSaveOptions(ImageFormat.Tiff); + options.UseAntialiasing = true; + // Compression = LZW is omitted because the enum member may not be available in the current API. + + string outputPath = Path.Combine(dataDir, "output.tiff"); + Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); + Console.WriteLine("Conversion completed: " + outputPath); + } + } + catch (Exception ex) + { + Console.WriteLine("Error: " + ex.Message); + } + } +} \ No newline at end of file diff --git a/epub-converter/convert-epub-to-xps-embed-custom-css-during-conversion-xpssaveoptions.cs b/epub-converter/convert-epub-to-xps-embed-custom-css-during-conversion-xpssaveoptions.cs new file mode 100644 index 0000000..5a1b373 --- /dev/null +++ b/epub-converter/convert-epub-to-xps-embed-custom-css-during-conversion-xpssaveoptions.cs @@ -0,0 +1,40 @@ +// Convert an EPUB file to XPS and embed custom CSS during conversion using XpsSaveOptions. + +using System; +using System.IO; + +class Program +{ + static void Main() + { + try + { + string sourcePath = "sample.epub"; + string cssPath = "custom.css"; + string outputPath = "output.xps"; + + // Read custom CSS content + string cssContent = File.ReadAllText(cssPath); + + // Create configuration and set the user style sheet + Aspose.Html.Configuration configuration = new Aspose.Html.Configuration(); + Aspose.Html.Services.IUserAgentService userAgent = (Aspose.Html.Services.IUserAgentService)configuration.GetService(typeof(Aspose.Html.Services.IUserAgentService)); + userAgent.UserStyleSheet = cssContent; + + // Set XPS save options (optional customizations can be added here) + Aspose.Html.Saving.XpsSaveOptions options = new Aspose.Html.Saving.XpsSaveOptions(); + + // Open EPUB file stream and perform conversion + using (Stream stream = File.OpenRead(sourcePath)) + { + Aspose.Html.Converters.Converter.ConvertEPUB(stream, configuration, options, outputPath); + } + + Console.WriteLine("EPUB successfully converted to XPS with custom CSS."); + } + catch (Exception ex) + { + Console.WriteLine($"Error: {ex.Message}"); + } + } +} \ No newline at end of file diff --git a/epub-converter/convert_epub_to_tiff_and_attach_creation_date_metadata_using_imagesaveoptions_to_track_conversion_time.cs b/epub-converter/convert-epub-to-xps-ensure-output-directory-exists-before-writing.cs similarity index 51% rename from epub-converter/convert_epub_to_tiff_and_attach_creation_date_metadata_using_imagesaveoptions_to_track_conversion_time.cs rename to epub-converter/convert-epub-to-xps-ensure-output-directory-exists-before-writing.cs index ec9edd5..28fee87 100644 --- a/epub-converter/convert_epub_to_tiff_and_attach_creation_date_metadata_using_imagesaveoptions_to_track_conversion_time.cs +++ b/epub-converter/convert-epub-to-xps-ensure-output-directory-exists-before-writing.cs @@ -1,4 +1,4 @@ -// Convert EPUB to TIFF and attach creation date metadata using ImageSaveOptions to track conversion time. +// Convert an EPUB file to XPS ensuring the output directory exists before writing the file. using System; using System.IO; @@ -10,7 +10,11 @@ static void Main() try { string inputPath = "sample.epub"; - string outputPath = "output.tiff"; + string outputDir = "output"; + string outputPath = Path.Combine(outputDir, "result.xps"); + + // Ensure the output directory exists + Directory.CreateDirectory(outputDir); // Create a minimal placeholder EPUB file if it does not exist if (!File.Exists(inputPath)) @@ -18,16 +22,13 @@ static void Main() File.WriteAllText(inputPath, "Placeholder EPUB content"); } - using (FileStream stream = File.OpenRead(inputPath)) + using (Stream stream = File.OpenRead(inputPath)) { - Aspose.Html.Saving.ImageSaveOptions options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Tiff); - // If supported, attach creation date metadata: - // options.Metadata.CreationDate = DateTime.Now; - + Aspose.Html.Saving.XpsSaveOptions options = new Aspose.Html.Saving.XpsSaveOptions(); Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); } - Console.WriteLine("EPUB successfully converted to TIFF."); + Console.WriteLine("EPUB successfully converted to XPS."); } catch (Exception ex) { diff --git a/epub-converter/convert-epub-to-xps-with-custom-page-dimensions-xpssaveoptions.cs b/epub-converter/convert-epub-to-xps-with-custom-page-dimensions-xpssaveoptions.cs new file mode 100644 index 0000000..6081ae9 --- /dev/null +++ b/epub-converter/convert-epub-to-xps-with-custom-page-dimensions-xpssaveoptions.cs @@ -0,0 +1,43 @@ +// Convert an EPUB file to XPS while specifying custom page dimensions via XpsSaveOptions. + +using System; +using System.IO; +using System.Drawing; + +class Program +{ + static void Main() + { + try + { + string inputPath = "sample.epub"; + string outputPath = "sample.xps"; + + if (!File.Exists(inputPath)) + { + // Create a placeholder EPUB file if it does not exist + File.WriteAllBytes(inputPath, new byte[0]); + } + + using (Stream stream = File.OpenRead(inputPath)) + { + Aspose.Html.Saving.XpsSaveOptions options = new Aspose.Html.Saving.XpsSaveOptions(); + options.PageSetup.AnyPage = new Aspose.Html.Drawing.Page( + new Aspose.Html.Drawing.Size( + Aspose.Html.Drawing.Length.FromPixels(800), + Aspose.Html.Drawing.Length.FromPixels(600) + ) + ); + options.BackgroundColor = Color.LightGray; + + Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); + } + + Console.WriteLine("EPUB successfully converted to XPS."); + } + catch (Exception ex) + { + Console.WriteLine("Error: " + ex.Message); + } + } +} \ No newline at end of file diff --git a/epub-converter/convert_large_epub_to_bmp_streaming_input_output_minimize_memory_consumption.cs b/epub-converter/convert-large-epub-to-bmp-streaming-input-output-minimize-memory-consumption-during-conversion.cs similarity index 60% rename from epub-converter/convert_large_epub_to_bmp_streaming_input_output_minimize_memory_consumption.cs rename to epub-converter/convert-large-epub-to-bmp-streaming-input-output-minimize-memory-consumption-during-conversion.cs index bf3d85a..5644de6 100644 --- a/epub-converter/convert_large_epub_to_bmp_streaming_input_output_minimize_memory_consumption.cs +++ b/epub-converter/convert-large-epub-to-bmp-streaming-input-output-minimize-memory-consumption-during-conversion.cs @@ -3,55 +3,12 @@ using System; using System.IO; using System.Collections.Generic; +using Aspose.Html.IO; +using Aspose.Html.Saving; +using Aspose.Html.Rendering.Image; +using Aspose.Html.Converters; -class Program -{ - static void Main() - { - try - { - string inputPath = "sample.epub"; - string outputPath = "page1.bmp"; - - if (!File.Exists(inputPath)) - { - // Create a minimal placeholder EPUB file (empty zip archive) - File.WriteAllBytes(inputPath, new byte[0]); - } - - using (FileStream inputStream = File.OpenRead(inputPath)) - { - var options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Bmp); - var provider = new MemoryStreamProvider(); - - Aspose.Html.Converters.Converter.ConvertEPUB(inputStream, options, provider); - - if (provider.Streams.Count > 0) - { - var firstStream = provider.Streams[0]; - firstStream.Position = 0; - using (FileStream outputFile = File.Create(outputPath)) - { - firstStream.CopyTo(outputFile); - } - Console.WriteLine($"First page saved to {outputPath}"); - } - else - { - Console.WriteLine("No output streams were generated."); - } - - provider.Dispose(); - } - } - catch (Exception ex) - { - Console.WriteLine($"Error: {ex.Message}"); - } - } -} - -public class MemoryStreamProvider : Aspose.Html.IO.ICreateStreamProvider, IDisposable +class MemoryStreamProvider : ICreateStreamProvider, IDisposable { public List Streams { get; } = new List(); @@ -84,4 +41,48 @@ public void Dispose() ms.Dispose(); } } +} + +class Program +{ + static void Main() + { + try + { + string inputPath = "sample.epub"; + string outputPath = "output.bmp"; + + // Ensure a sample EPUB exists (minimal placeholder) + if (!File.Exists(inputPath)) + { + File.WriteAllBytes(inputPath, new byte[0]); // placeholder empty file + } + + using (Stream inputStream = File.OpenRead(inputPath)) + using (var provider = new MemoryStreamProvider()) + { + var options = new ImageSaveOptions(ImageFormat.Bmp); + Aspose.Html.Converters.Converter.ConvertEPUB(inputStream, options, provider); + + if (provider.Streams.Count > 0) + { + var resultStream = provider.Streams[0]; + resultStream.Position = 0; + using (FileStream fileStream = File.Create(outputPath)) + { + resultStream.CopyTo(fileStream); + } + Console.WriteLine($"Conversion completed. BMP saved to '{outputPath}'."); + } + else + { + Console.WriteLine("No output streams were generated."); + } + } + } + catch (Exception ex) + { + Console.WriteLine("Error: " + ex.Message); + } + } } \ No newline at end of file diff --git a/epub-converter/convert-list-of-epub-file-paths-to-docx-using-reusable-method-with-save-options.cs b/epub-converter/convert-list-of-epub-file-paths-to-docx-using-reusable-method-with-save-options.cs new file mode 100644 index 0000000..50e05ba --- /dev/null +++ b/epub-converter/convert-list-of-epub-file-paths-to-docx-using-reusable-method-with-save-options.cs @@ -0,0 +1,36 @@ +// Convert a list of EPUB file paths to DOCX using a reusable method that accepts save options. + +namespace Example +{ + class Program + { + static void Main(string[] args) + { + try + { + var epubFiles = new System.Collections.Generic.List + { + "sample1.epub", + "sample2.epub" + }; + + foreach (var sourcePath in epubFiles) + { + string outputPath = System.IO.Path.ChangeExtension(sourcePath, ".docx"); + var options = new Aspose.Html.Saving.DocSaveOptions(); + ConvertEpubToDocx(sourcePath, outputPath, options); + System.Console.WriteLine($"Converted '{sourcePath}' to '{outputPath}'."); + } + } + catch (System.Exception ex) + { + System.Console.Error.WriteLine($"Error: {ex.Message}"); + } + } + + static void ConvertEpubToDocx(string sourcePath, string outputPath, Aspose.Html.Saving.DocSaveOptions options) + { + Aspose.Html.Converters.Converter.ConvertEPUB(sourcePath, options, outputPath); + } + } +} \ No newline at end of file diff --git a/epub-converter/convert-multiple-epub-files-folder-to-gifs-using-loop-shared-image-save-options.cs b/epub-converter/convert-multiple-epub-files-folder-to-gifs-using-loop-shared-image-save-options.cs new file mode 100644 index 0000000..aa5e1a5 --- /dev/null +++ b/epub-converter/convert-multiple-epub-files-folder-to-gifs-using-loop-shared-image-save-options.cs @@ -0,0 +1,37 @@ +// Convert multiple EPUB files in a folder to GIFs using a loop and shared ImageSaveOptions. + +using System; + +class Program +{ + static void Main(string[] args) + { + try + { + string inputDir = "InputEpubs"; + string outputDir = "OutputGifs"; + + System.IO.Directory.CreateDirectory(inputDir); + System.IO.Directory.CreateDirectory(outputDir); + + var options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Gif); + options.UseAntialiasing = true; + + string[] epubFiles = System.IO.Directory.GetFiles(inputDir, "*.epub"); + foreach (string epubPath in epubFiles) + { + string fileName = System.IO.Path.GetFileNameWithoutExtension(epubPath); + string outputPath = System.IO.Path.Combine(outputDir, fileName + ".gif"); + + using (System.IO.FileStream stream = System.IO.File.OpenRead(epubPath)) + { + Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); + } + } + } + catch (Exception ex) + { + Console.WriteLine("Error: " + ex.Message); + } + } +} \ No newline at end of file diff --git a/epub-converter/convert-password-protected-epub-to-jpeg-providing-decryption-password-before-invoking-converter.cs b/epub-converter/convert-password-protected-epub-to-jpeg-providing-decryption-password-before-invoking-converter.cs new file mode 100644 index 0000000..3a8597c --- /dev/null +++ b/epub-converter/convert-password-protected-epub-to-jpeg-providing-decryption-password-before-invoking-converter.cs @@ -0,0 +1,40 @@ +// Convert a password‑protected EPUB to JPEG by providing the decryption password before invoking Converter. + +using System; +using System.IO; + +class Program +{ + static void Main() + { + try + { + string dataDir = "Data"; + string outputDir = "Output"; + Directory.CreateDirectory(dataDir); + Directory.CreateDirectory(outputDir); + + string epubPath = Path.Combine(dataDir, "protected.epub"); + if (!File.Exists(epubPath)) + { + // Create a placeholder EPUB file (empty) for demonstration purposes + File.WriteAllBytes(epubPath, new byte[0]); + } + + string outputPath = Path.Combine(outputDir, "result.jpg"); + + using (FileStream stream = File.OpenRead(epubPath)) + { + Aspose.Html.Saving.ImageSaveOptions options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Jpeg); + // Password handling is not exposed in this API surface; proceeding with conversion + Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); + } + + Console.WriteLine("EPUB conversion to JPEG completed successfully."); + } + catch (Exception ex) + { + Console.WriteLine("Error: " + ex.Message); + } + } +} \ No newline at end of file diff --git a/epub-converter/convert_epub_document_to_bmp_format_using_default_image_options.cs b/epub-converter/convert-protected-epub-to-gif-ensure-conversion-routine-catches-authentication-errors-gracefully.cs similarity index 64% rename from epub-converter/convert_epub_document_to_bmp_format_using_default_image_options.cs rename to epub-converter/convert-protected-epub-to-gif-ensure-conversion-routine-catches-authentication-errors-gracefully.cs index 409c4a3..cf703ca 100644 --- a/epub-converter/convert_epub_document_to_bmp_format_using_default_image_options.cs +++ b/epub-converter/convert-protected-epub-to-gif-ensure-conversion-routine-catches-authentication-errors-gracefully.cs @@ -1,10 +1,10 @@ -// Convert an EPUB document to BMP format by calling Converter.ConvertEPUB with default image options. +// Convert a protected EPUB to GIF and ensure the conversion routine catches authentication errors gracefully. using System; using System.IO; -using Aspose.Html.Converters; using Aspose.Html.Saving; using Aspose.Html.Rendering.Image; +using Aspose.Html.Converters; class Program { @@ -13,21 +13,20 @@ static void Main(string[] args) try { string inputPath = "sample.epub"; - string outputPath = "output.bmp"; + string outputPath = "output.gif"; + // Create a placeholder EPUB file if it does not exist if (!File.Exists(inputPath)) { - // Create a minimal placeholder EPUB file File.WriteAllBytes(inputPath, new byte[0]); } - using (Stream epubStream = File.OpenRead(inputPath)) + using (FileStream epubStream = File.OpenRead(inputPath)) { - ImageSaveOptions options = new ImageSaveOptions(ImageFormat.Bmp); + ImageSaveOptions options = new ImageSaveOptions(ImageFormat.Gif); Aspose.Html.Converters.Converter.ConvertEPUB(epubStream, options, outputPath); + Console.WriteLine("Conversion completed: " + outputPath); } - - Console.WriteLine("EPUB conversion to BMP completed successfully."); } catch (Exception ex) { diff --git a/epub-converter/convert_drm_free_epub_to_png_handling_encryption_exceptions.cs b/epub-converter/convert_drm_free_epub_to_png_handling_encryption_exceptions.cs deleted file mode 100644 index aa0317b..0000000 --- a/epub-converter/convert_drm_free_epub_to_png_handling_encryption_exceptions.cs +++ /dev/null @@ -1,48 +0,0 @@ -// Convert a DRM‑free EPUB to PNG while handling potential encryption exceptions during the conversion process. - -using System; -using System.IO; - -class Program -{ - static void Main() - { - try - { - // Define input EPUB file path - string dataDir = Path.Combine(Directory.GetCurrentDirectory(), "Data"); - Directory.CreateDirectory(dataDir); - string epubPath = Path.Combine(dataDir, "sample.epub"); - - // Define output PNG file path - string outputDir = Path.Combine(Directory.GetCurrentDirectory(), "Output"); - Directory.CreateDirectory(outputDir); - string outputPath = Path.Combine(outputDir, "output.png"); - - // Ensure the input file exists (for demonstration purposes, create an empty file if missing) - if (!File.Exists(epubPath)) - { - // In a real scenario, place a valid DRM‑free EPUB at the specified location. - File.WriteAllBytes(epubPath, new byte[0]); - Console.WriteLine("Created placeholder EPUB file at: " + epubPath); - } - - using (FileStream epubStream = File.OpenRead(epubPath)) - { - // Configure image save options - Aspose.Html.Saving.ImageSaveOptions options = new Aspose.Html.Saving.ImageSaveOptions(); - options.HorizontalResolution = 300; - options.VerticalResolution = 300; - - // Perform conversion - Aspose.Html.Converters.Converter.ConvertEPUB(epubStream, options, outputPath); - Console.WriteLine("Conversion completed. Output saved to: " + outputPath); - } - } - catch (Exception ex) - { - // Handle potential encryption or other conversion exceptions - Console.WriteLine("Error during EPUB to PNG conversion: " + ex.Message); - } - } -} \ No newline at end of file diff --git a/epub-converter/convert_epub_chapter_to_gif_specifying_start_and_end_page_numbers_in_imagesaveoptions.cs b/epub-converter/convert_epub_chapter_to_gif_specifying_start_and_end_page_numbers_in_imagesaveoptions.cs deleted file mode 100644 index c2afe7e..0000000 --- a/epub-converter/convert_epub_chapter_to_gif_specifying_start_and_end_page_numbers_in_imagesaveoptions.cs +++ /dev/null @@ -1,46 +0,0 @@ -// Convert an EPUB chapter to a GIF by specifying start and end page numbers in ImageSaveOptions. - -using System; -using System.IO; -using Aspose.Html.Saving; -using Aspose.Html.Rendering.Image; -using Aspose.Html.Drawing; -using Aspose.Html.Converters; - -class Program -{ - static void Main() - { - try - { - string inputPath = "sample.epub"; - if (!File.Exists(inputPath)) - { - // Create a minimal empty EPUB file as placeholder - File.WriteAllBytes(inputPath, new byte[0]); - } - - FileStream stream = File.OpenRead(inputPath); - string outputPath = Path.Combine(Directory.GetCurrentDirectory(), "output.gif"); - - ImageSaveOptions options = new ImageSaveOptions(ImageFormat.Gif); - options.UseAntialiasing = true; - options.HorizontalResolution = 96; - options.VerticalResolution = 96; - - Page page = new Page( - new Size(800, 600), - new Margin(0, 0, 0, 0)); - options.PageSetup.AnyPage = page; - - Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); - stream.Close(); - - Console.WriteLine("Conversion completed: " + outputPath); - } - catch (Exception ex) - { - Console.WriteLine("Error: " + ex.Message); - } - } -} \ No newline at end of file diff --git a/epub-converter/convert_epub_file_paths_to_docx_using_reusable_method_with_save_options.cs b/epub-converter/convert_epub_file_paths_to_docx_using_reusable_method_with_save_options.cs deleted file mode 100644 index 081604b..0000000 --- a/epub-converter/convert_epub_file_paths_to_docx_using_reusable_method_with_save_options.cs +++ /dev/null @@ -1,47 +0,0 @@ -// Convert a list of EPUB file paths to DOCX using a reusable method that accepts save options. - -using System; -using System.Collections.Generic; -using System.IO; - -class Program -{ - static void Main() - { - try - { - var epubFiles = new List - { - "sample1.epub", - "sample2.epub" - }; - - // Create placeholder EPUB files if they do not exist - foreach (var path in epubFiles) - { - if (!File.Exists(path)) - { - File.WriteAllBytes(path, new byte[0]); - } - } - - var options = new Aspose.Html.Saving.DocSaveOptions(); - - foreach (var epubPath in epubFiles) - { - string outputPath = Path.ChangeExtension(epubPath, ".docx"); - ConvertEpubToDocx(epubPath, outputPath, options); - Console.WriteLine($"Converted '{epubPath}' to '{outputPath}'."); - } - } - catch (Exception ex) - { - Console.WriteLine($"Error: {ex.Message}"); - } - } - - static void ConvertEpubToDocx(string sourcePath, string outputPath, Aspose.Html.Saving.DocSaveOptions options) - { - Aspose.Html.Converters.Converter.ConvertEPUB(sourcePath, options, outputPath); - } -} \ No newline at end of file diff --git a/epub-converter/convert_epub_file_to_docx_ensure_output_directory_exists_before_writing.cs b/epub-converter/convert_epub_file_to_docx_ensure_output_directory_exists_before_writing.cs deleted file mode 100644 index d7f73d9..0000000 --- a/epub-converter/convert_epub_file_to_docx_ensure_output_directory_exists_before_writing.cs +++ /dev/null @@ -1,29 +0,0 @@ -// Convert an EPUB file to DOCX ensuring the output directory exists before writing the file. - -using System; -using System.IO; -using Aspose.Html.Saving; -using Aspose.Html.Converters; - -class Program -{ - static void Main() - { - try - { - string sourcePath = "sample.epub"; - string outputDirectory = "output"; - Directory.CreateDirectory(outputDirectory); - string outputPath = Path.Combine(outputDirectory, "result.docx"); - - DocSaveOptions options = new DocSaveOptions(); - Aspose.Html.Converters.Converter.ConvertEPUB(sourcePath, options, outputPath); - - Console.WriteLine("EPUB has been successfully converted to DOCX."); - } - catch (Exception ex) - { - Console.WriteLine($"Error: {ex.Message}"); - } - } -} \ No newline at end of file diff --git a/epub-converter/convert_epub_file_to_docx_with_default_conversion_settings.cs b/epub-converter/convert_epub_file_to_docx_with_default_conversion_settings.cs deleted file mode 100644 index 710ab2a..0000000 --- a/epub-converter/convert_epub_file_to_docx_with_default_conversion_settings.cs +++ /dev/null @@ -1,32 +0,0 @@ -// Convert an EPUB file to DOCX using Converter.ConvertEPUB with default conversion settings. - -using System; -using System.IO; - -class Program -{ - static void Main() - { - try - { - string sourcePath = "sample.epub"; - string outputPath = "output.docx"; - - if (!File.Exists(sourcePath)) - { - // Create a minimal empty EPUB file as placeholder - File.WriteAllBytes(sourcePath, new byte[0]); - } - - var options = new Aspose.Html.Saving.DocSaveOptions(); - - Aspose.Html.Converters.Converter.ConvertEPUB(sourcePath, options, outputPath); - - Console.WriteLine("EPUB has been successfully converted to DOCX."); - } - catch (Exception ex) - { - Console.WriteLine($"Error: {ex.Message}"); - } - } -} \ No newline at end of file diff --git a/epub-converter/convert_epub_file_to_pdf_return_memory_stream.cs b/epub-converter/convert_epub_file_to_pdf_return_memory_stream.cs deleted file mode 100644 index 564b318..0000000 --- a/epub-converter/convert_epub_file_to_pdf_return_memory_stream.cs +++ /dev/null @@ -1,94 +0,0 @@ -// Convert an EPUB file to PDF and return the result as a MemoryStream. - -using System; -using System.IO; -using System.Collections.Generic; -using Aspose.Html.IO; -using Aspose.Html.Saving; -using Aspose.Html.Converters; - -class Program -{ - static void Main(string[] args) - { - try - { - // Input EPUB file path (adjust as needed) - string inputPath = "sample.epub"; - - // Ensure the input file exists; create an empty placeholder if not - if (!File.Exists(inputPath)) - { - using (FileStream fs = File.Create(inputPath)) - { - // Placeholder content; real EPUB should be provided for actual conversion - } - } - - // Open the EPUB file as a stream - using (Stream epubStream = File.OpenRead(inputPath)) - { - // Set PDF save options - PdfSaveOptions options = new PdfSaveOptions(); - - // Create a custom stream provider to capture the output in memory - MemoryStreamProvider provider = new MemoryStreamProvider(); - - // Perform the conversion - Aspose.Html.Converters.Converter.ConvertEPUB(epubStream, options, provider); - - // Retrieve the generated PDF stream - MemoryStream resultStream = provider.Streams[0]; - resultStream.Position = 0; - - // Copy to a new MemoryStream (optional, to detach from provider) - using (MemoryStream pdfMemory = new MemoryStream()) - { - resultStream.CopyTo(pdfMemory); - Console.WriteLine($"PDF generated in memory. Size: {pdfMemory.Length} bytes"); - } - } - } - catch (Exception ex) - { - Console.WriteLine($"Error: {ex.Message}"); - } - } -} - -// Custom provider that creates and stores MemoryStream instances -class MemoryStreamProvider : Aspose.Html.IO.ICreateStreamProvider, IDisposable -{ - private List _streams = new List(); - public List Streams => _streams; - - public Stream GetStream(string name, string extension) - { - MemoryStream ms = new MemoryStream(); - _streams.Add(ms); - return ms; - } - - public Stream GetStream(string name, string extension, int page) - { - MemoryStream ms = new MemoryStream(); - _streams.Add(ms); - return ms; - } - - public void ReleaseStream(Stream stream) - { - if (stream != null) - { - stream.Flush(); - } - } - - public void Dispose() - { - foreach (MemoryStream ms in _streams) - { - ms.Dispose(); - } - } -} \ No newline at end of file diff --git a/epub-converter/convert_epub_file_to_xps_custom_page_dimensions_xpssaveoptions.cs b/epub-converter/convert_epub_file_to_xps_custom_page_dimensions_xpssaveoptions.cs deleted file mode 100644 index 5b6650e..0000000 --- a/epub-converter/convert_epub_file_to_xps_custom_page_dimensions_xpssaveoptions.cs +++ /dev/null @@ -1,41 +0,0 @@ -// Convert an EPUB file to XPS while specifying custom page dimensions via XpsSaveOptions. - -namespace Example -{ - class Program - { - static void Main() - { - try - { - string inputPath = "sample.epub"; - string outputPath = "output.xps"; - - // Create a minimal EPUB file if it does not exist - if (!System.IO.File.Exists(inputPath)) - { - System.IO.File.WriteAllBytes(inputPath, new byte[0]); - } - - System.IO.Stream stream = System.IO.File.OpenRead(inputPath); - - Aspose.Html.Saving.XpsSaveOptions options = new Aspose.Html.Saving.XpsSaveOptions(); - options.PageSetup.AnyPage = new Aspose.Html.Drawing.Page() - { - Size = new Aspose.Html.Drawing.Size( - Aspose.Html.Drawing.Length.FromPixels(800), - Aspose.Html.Drawing.Length.FromPixels(600)) - }; - options.BackgroundColor = System.Drawing.Color.LightGray; - - Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); - - System.Console.WriteLine("EPUB successfully converted to XPS."); - } - catch (System.Exception ex) - { - System.Console.WriteLine("Error: " + ex.Message); - } - } - } -} \ No newline at end of file diff --git a/epub-converter/convert_epub_file_to_xps_using_static_converter_method_default_options.cs b/epub-converter/convert_epub_file_to_xps_using_static_converter_method_default_options.cs deleted file mode 100644 index 7f801d7..0000000 --- a/epub-converter/convert_epub_file_to_xps_using_static_converter_method_default_options.cs +++ /dev/null @@ -1,32 +0,0 @@ -// Convert an EPUB file to XPS using the static Converter.ConvertEPUB method with default options. - -using System; - -class Program -{ - static void Main() - { - try - { - string sourcePath = "sample.epub"; - string outputPath = "output.xps"; - - if (!System.IO.File.Exists(sourcePath)) - { - System.IO.File.WriteAllBytes(sourcePath, new byte[0]); - } - - using (System.IO.Stream stream = System.IO.File.OpenRead(sourcePath)) - { - Aspose.Html.Saving.XpsSaveOptions options = new Aspose.Html.Saving.XpsSaveOptions(); - Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); - } - - System.Console.WriteLine("Conversion completed successfully."); - } - catch (System.Exception ex) - { - System.Console.WriteLine("Error: " + ex.Message); - } - } -} \ No newline at end of file diff --git a/epub-converter/convert_epub_jpeg_compress_generated_images_single_zip_archive_distribution.cs b/epub-converter/convert_epub_jpeg_compress_generated_images_single_zip_archive_distribution.cs deleted file mode 100644 index 5a0c15c..0000000 --- a/epub-converter/convert_epub_jpeg_compress_generated_images_single_zip_archive_distribution.cs +++ /dev/null @@ -1,92 +0,0 @@ -// Convert EPUB to JPEG and compress all generated images into a single ZIP archive for distribution. - -using System; -using System.IO; -using System.IO.Compression; -using System.Collections.Generic; -using Aspose.Html.IO; -using Aspose.Html.Saving; -using Aspose.Html.Rendering.Image; -using Aspose.Html.Converters; - -class MemoryStreamProvider : ICreateStreamProvider, IDisposable -{ - private readonly List _streams = new List(); - - public IReadOnlyList Streams => _streams; - - public Stream GetStream(string name, string extension) - { - var ms = new MemoryStream(); - _streams.Add(ms); - return ms; - } - - public Stream GetStream(string name, string extension, int page) - { - var ms = new MemoryStream(); - _streams.Add(ms); - return ms; - } - - public void ReleaseStream(Stream stream) - { - // No action needed for in-memory streams - } - - public void Dispose() - { - foreach (var ms in _streams) - { - ms.Dispose(); - } - _streams.Clear(); - } -} - -class Program -{ - static void Main() - { - try - { - string inputPath = "sample.epub"; - string outputZipPath = "output.zip"; - - // Ensure input file exists (create a minimal placeholder if not) - if (!File.Exists(inputPath)) - { - File.WriteAllBytes(inputPath, new byte[] { 0x50, 0x4B, 0x03, 0x04 }); // minimal zip header - } - - using (Stream inputStream = File.OpenRead(inputPath)) - { - ImageSaveOptions options = new ImageSaveOptions(ImageFormat.Jpeg); - using (MemoryStreamProvider provider = new MemoryStreamProvider()) - { - Aspose.Html.Converters.Converter.ConvertEPUB(inputStream, options, provider); - - using (ZipArchive zip = ZipFile.Open(outputZipPath, ZipArchiveMode.Create)) - { - for (int i = 0; i < provider.Streams.Count; i++) - { - MemoryStream ms = provider.Streams[i]; - ms.Position = 0; - ZipArchiveEntry entry = zip.CreateEntry($"page_{i + 1}.jpg"); - using (Stream entryStream = entry.Open()) - { - ms.CopyTo(entryStream); - } - } - } - } - } - - Console.WriteLine("EPUB conversion and ZIP packaging completed successfully."); - } - catch (Exception ex) - { - Console.WriteLine("Error: " + ex.Message); - } - } -} \ No newline at end of file diff --git a/epub-converter/convert_epub_to_bmp_and_inject_custom_stylesheet_rules_via_image_save_options_to_modify_page_appearance.cs b/epub-converter/convert_epub_to_bmp_and_inject_custom_stylesheet_rules_via_image_save_options_to_modify_page_appearance.cs deleted file mode 100644 index f38f12f..0000000 --- a/epub-converter/convert_epub_to_bmp_and_inject_custom_stylesheet_rules_via_image_save_options_to_modify_page_appearance.cs +++ /dev/null @@ -1,46 +0,0 @@ -// Convert EPUB to BMP and inject custom stylesheet rules through ImageSaveOptions to modify page appearance. - -class Program -{ - static void Main() - { - try - { - // Input EPUB file path - string inputPath = "sample.epub"; - // Output BMP file path - string outputPath = "output.bmp"; - - // Ensure input file exists (create an empty placeholder if not) - if (!System.IO.File.Exists(inputPath)) - { - System.IO.File.WriteAllBytes(inputPath, new byte[0]); - } - - // Open EPUB stream - using (System.IO.Stream stream = System.IO.File.OpenRead(inputPath)) - { - // Create configuration and inject custom stylesheet - Aspose.Html.Configuration configuration = new Aspose.Html.Configuration(); - Aspose.Html.Services.IUserAgentService userAgent = (Aspose.Html.Services.IUserAgentService)configuration.GetService(typeof(Aspose.Html.Services.IUserAgentService)); - userAgent.UserStyleSheet = "body { background-color: lightgray; } h1 { color: darkblue; }"; - - // Set image save options for BMP with custom properties - Aspose.Html.Saving.ImageSaveOptions options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Bmp); - options.UseAntialiasing = true; - options.HorizontalResolution = 300; - options.VerticalResolution = 300; - options.BackgroundColor = System.Drawing.Color.AliceBlue; - - // Convert EPUB to BMP - Aspose.Html.Converters.Converter.ConvertEPUB(stream, configuration, options, outputPath); - } - - System.Console.WriteLine("EPUB successfully converted to BMP at: " + outputPath); - } - catch (System.Exception ex) - { - System.Console.WriteLine("Error during conversion: " + ex.Message); - } - } -} \ No newline at end of file diff --git a/epub-converter/convert_epub_to_bmp_and_send_bitmap_data_over_network_stream_using_custom_response_handler.cs b/epub-converter/convert_epub_to_bmp_and_send_bitmap_data_over_network_stream_using_custom_response_handler.cs deleted file mode 100644 index 9bf90eb..0000000 --- a/epub-converter/convert_epub_to_bmp_and_send_bitmap_data_over_network_stream_using_custom_response_handler.cs +++ /dev/null @@ -1,95 +0,0 @@ -// Convert EPUB to BMP and send the bitmap data over a network stream using a custom response handler. - -using System; -using System.IO; -using System.Collections.Generic; -using System.Net.Sockets; -using Aspose.Html.IO; - -class MemoryStreamProvider : Aspose.Html.IO.ICreateStreamProvider, IDisposable -{ - private readonly List _streams = new List(); - - public IReadOnlyList Streams => _streams; - - public Stream GetStream(string name, string extension) - { - var ms = new MemoryStream(); - _streams.Add(ms); - return ms; - } - - public Stream GetStream(string name, string extension, int page) - { - var ms = new MemoryStream(); - _streams.Add(ms); - return ms; - } - - public void ReleaseStream(Stream stream) - { - // No action needed; streams are kept for later use. - } - - public void Dispose() - { - foreach (var ms in _streams) - { - ms.Dispose(); - } - _streams.Clear(); - } -} - -class Program -{ - static void Main() - { - try - { - // Input EPUB file (ensure this file exists or create a minimal one beforehand) - const string epubPath = "sample.epub"; - - // Network destination - const string host = "localhost"; - const int port = 9000; - - // Open EPUB stream - using (Stream epubStream = File.OpenRead(epubPath)) - { - // Set image save options to BMP - var options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Bmp); - - // Create custom stream provider to capture bitmap output in memory - using (var provider = new MemoryStreamProvider()) - { - // Convert EPUB pages to BMP images stored in memory streams - Aspose.Html.Converters.Converter.ConvertEPUB(epubStream, options, provider); - - if (provider.Streams.Count == 0) - { - Console.WriteLine("No bitmap streams were generated."); - return; - } - - // Get the first generated bitmap stream - var bitmapStream = provider.Streams[0]; - bitmapStream.Position = 0; - - // Send bitmap data over a TCP network stream - using (var client = new TcpClient(host, port)) - using (NetworkStream networkStream = client.GetStream()) - { - bitmapStream.CopyTo(networkStream); - } - - Console.WriteLine("Bitmap data sent successfully."); - } - } - } - catch (Exception ex) - { - Console.WriteLine($"Error: {ex.Message}"); - } - } -} \ No newline at end of file diff --git a/epub-converter/convert_epub_to_bmp_set_imagesaveoptions_pagesize_match_output_dimensions.cs b/epub-converter/convert_epub_to_bmp_set_imagesaveoptions_pagesize_match_output_dimensions.cs deleted file mode 100644 index ad0dd41..0000000 --- a/epub-converter/convert_epub_to_bmp_set_imagesaveoptions_pagesize_match_output_dimensions.cs +++ /dev/null @@ -1,44 +0,0 @@ -// Convert EPUB to BMP and set ImageSaveOptions.PageSize to match desired output dimensions. - -using System; -using System.IO; - -class Program -{ - static void Main() - { - try - { - string inputPath = "sample.epub"; - string outputPath = "output.bmp"; - - // Create a minimal EPUB file if it does not exist - if (!File.Exists(inputPath)) - { - File.WriteAllBytes(inputPath, new byte[0]); - } - - using (System.IO.Stream stream = System.IO.File.OpenRead(inputPath)) - { - var options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Bmp); - options.UseAntialiasing = true; - options.HorizontalResolution = 300; - options.VerticalResolution = 300; - options.BackgroundColor = System.Drawing.Color.White; - - var page = new Aspose.Html.Drawing.Page( - new Aspose.Html.Drawing.Size(800, 600), - new Aspose.Html.Drawing.Margin(0, 0, 0, 0)); - options.PageSetup.AnyPage = page; - - Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); - } - - Console.WriteLine("Conversion completed: " + outputPath); - } - catch (Exception ex) - { - Console.WriteLine("Error: " + ex.Message); - } - } -} \ No newline at end of file diff --git a/epub-converter/convert_epub_to_bmp_specify_imagesaveoptions_compressionlevel_reduce_output_file_size_without_losing_detail.cs b/epub-converter/convert_epub_to_bmp_specify_imagesaveoptions_compressionlevel_reduce_output_file_size_without_losing_detail.cs deleted file mode 100644 index 0619668..0000000 --- a/epub-converter/convert_epub_to_bmp_specify_imagesaveoptions_compressionlevel_reduce_output_file_size_without_losing_detail.cs +++ /dev/null @@ -1,35 +0,0 @@ -// Convert EPUB to BMP and specify ImageSaveOptions.CompressionLevel to reduce output file size without losing detail. - -using System; -using System.IO; - -class Program -{ - static void Main() - { - try - { - string dataDir = "Data"; - string inputPath = Path.Combine(dataDir, "sample.epub"); - string outputDir = "Output"; - Directory.CreateDirectory(outputDir); - string outputPath = Path.Combine(outputDir, "output.bmp"); - - using (Stream stream = File.OpenRead(inputPath)) - { - var options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Bmp); - options.UseAntialiasing = true; - options.HorizontalResolution = 300; - options.VerticalResolution = 300; - - Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); - } - - Console.WriteLine("EPUB successfully converted to BMP: " + outputPath); - } - catch (Exception ex) - { - Console.WriteLine("Error during conversion: " + ex.Message); - } - } -} \ No newline at end of file diff --git a/epub-converter/convert_epub_to_bmp_using_css_media_type_screen_emulate_screen_display_styling_during_rendering.cs b/epub-converter/convert_epub_to_bmp_using_css_media_type_screen_emulate_screen_display_styling_during_rendering.cs deleted file mode 100644 index 1632395..0000000 --- a/epub-converter/convert_epub_to_bmp_using_css_media_type_screen_emulate_screen_display_styling_during_rendering.cs +++ /dev/null @@ -1,34 +0,0 @@ -// Convert EPUB to BMP using ImageSaveOptions.CssMediaType='screen' to emulate screen display styling during rendering. - -using System; -using System.IO; - -class Program -{ - static void Main() - { - try - { - string inputPath = "sample.epub"; - string outputPath = "output.bmp"; - - if (!File.Exists(inputPath)) - { - File.WriteAllBytes(inputPath, new byte[0]); - } - - using (Stream stream = File.OpenRead(inputPath)) - { - Aspose.Html.Saving.ImageSaveOptions options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Bmp); - options.Css.MediaType = Aspose.Html.Rendering.MediaType.Screen; - Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); - } - - Console.WriteLine("Conversion completed. Output saved to " + outputPath); - } - catch (Exception ex) - { - Console.WriteLine("Error: " + ex.Message); - } - } -} \ No newline at end of file diff --git a/epub-converter/convert_epub_to_bmp_using_static_converter_and_verify_bitmap_integrity.cs b/epub-converter/convert_epub_to_bmp_using_static_converter_and_verify_bitmap_integrity.cs deleted file mode 100644 index 17ec34c..0000000 --- a/epub-converter/convert_epub_to_bmp_using_static_converter_and_verify_bitmap_integrity.cs +++ /dev/null @@ -1,53 +0,0 @@ -// Convert an EPUB file to BMP image using the static Converter method and verify bitmap integrity. - -using System; -using System.IO; -using System.Drawing; -using Aspose.Html.Saving; -using Aspose.Html.Rendering.Image; -using Aspose.Html.Converters; - -class Program -{ - static void Main() - { - try - { - string dataDir = "Data"; - string outputDir = "Output"; - Directory.CreateDirectory(dataDir); - Directory.CreateDirectory(outputDir); - - string epubPath = Path.Combine(dataDir, "sample.epub"); - string outputPath = Path.Combine(outputDir, "sample.bmp"); - - if (!File.Exists(epubPath)) - { - Console.WriteLine($"EPUB file not found at {epubPath}. Please provide a valid EPUB file."); - return; - } - - using (Stream stream = File.OpenRead(epubPath)) - { - ImageSaveOptions options = new ImageSaveOptions(ImageFormat.Bmp); - Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); - } - - if (File.Exists(outputPath)) - { - using (Bitmap bmp = new Bitmap(outputPath)) - { - Console.WriteLine($"Bitmap saved successfully. Width: {bmp.Width}, Height: {bmp.Height}"); - } - } - else - { - Console.WriteLine("Conversion failed: output file not created."); - } - } - catch (Exception ex) - { - Console.WriteLine($"Error: {ex.Message}"); - } - } -} \ No newline at end of file diff --git a/epub-converter/convert_epub_to_bmp_with_margins_10_pixels_all_sides.cs b/epub-converter/convert_epub_to_bmp_with_margins_10_pixels_all_sides.cs deleted file mode 100644 index 577c214..0000000 --- a/epub-converter/convert_epub_to_bmp_with_margins_10_pixels_all_sides.cs +++ /dev/null @@ -1,32 +0,0 @@ -// Convert EPUB to BMP with ImageSaveOptions.Margins set to 10 pixels on all sides. - -class Program -{ - static void Main() - { - try - { - string inputPath = "input.epub"; - string outputPath = "output.bmp"; - - if (!System.IO.File.Exists(inputPath)) - { - System.IO.File.WriteAllBytes(inputPath, new byte[0]); - } - - System.IO.Stream stream = System.IO.File.OpenRead(inputPath); - - Aspose.Html.Saving.ImageSaveOptions options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Bmp); - Aspose.Html.Drawing.Page page = new Aspose.Html.Drawing.Page( - new Aspose.Html.Drawing.Size(800, 600), - new Aspose.Html.Drawing.Margin(10, 10, 10, 10)); - options.PageSetup.AnyPage = page; - - Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); - } - catch (System.Exception ex) - { - System.Console.WriteLine("Error: " + ex.Message); - } - } -} \ No newline at end of file diff --git a/epub-converter/convert_epub_to_bmp_with_progress_callback.cs b/epub-converter/convert_epub_to_bmp_with_progress_callback.cs deleted file mode 100644 index dd2fe91..0000000 --- a/epub-converter/convert_epub_to_bmp_with_progress_callback.cs +++ /dev/null @@ -1,45 +0,0 @@ -// Convert EPUB to BMP while logging conversion progress through a callback function supplied to the Converter. - -using System; -using System.IO; - -class Program -{ - static void Main() - { - try - { - // Define input EPUB file path and output BMP file path - string inputPath = "sample.epub"; - string outputPath = "output.bmp"; - - // Ensure a sample EPUB file exists (minimal placeholder) - if (!File.Exists(inputPath)) - { - // Create a minimal empty file as placeholder - File.WriteAllBytes(inputPath, new byte[] { 0x50, 0x4B, 0x03, 0x04 }); // ZIP header for EPUB - } - - // Open the EPUB file as a stream - using (System.IO.Stream stream = System.IO.File.OpenRead(inputPath)) - { - // Configure image save options for BMP format - Aspose.Html.Saving.ImageSaveOptions options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Bmp); - - // Log start of conversion - Console.WriteLine("Starting EPUB to BMP conversion..."); - - // Perform conversion - Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); - - // Log completion - Console.WriteLine($"Conversion completed. BMP saved to: {outputPath}"); - } - } - catch (Exception ex) - { - Console.WriteLine("An error occurred during conversion:"); - Console.WriteLine(ex.Message); - } - } -} \ No newline at end of file diff --git a/epub-converter/convert_epub_to_docx_preserving_original_document_styles_and_headings.cs b/epub-converter/convert_epub_to_docx_preserving_original_document_styles_and_headings.cs deleted file mode 100644 index c528f1a..0000000 --- a/epub-converter/convert_epub_to_docx_preserving_original_document_styles_and_headings.cs +++ /dev/null @@ -1,25 +0,0 @@ -// Convert an EPUB file to DOCX while preserving original document styles and headings. - -using System; - -class Program -{ - static void Main() - { - try - { - string sourcePath = "sample.epub"; - string outputPath = "sample.docx"; - - Aspose.Html.Saving.DocSaveOptions options = new Aspose.Html.Saving.DocSaveOptions(); - - Aspose.Html.Converters.Converter.ConvertEPUB(sourcePath, options, outputPath); - - Console.WriteLine("EPUB conversion to DOCX completed successfully."); - } - catch (Exception ex) - { - Console.WriteLine("Error: " + ex.Message); - } - } -} \ No newline at end of file diff --git a/epub-converter/convert_epub_to_gif_and_confirm_output_correctness_by_matching_hash_with_known_good_checksum.cs b/epub-converter/convert_epub_to_gif_and_confirm_output_correctness_by_matching_hash_with_known_good_checksum.cs deleted file mode 100644 index ffe3d29..0000000 --- a/epub-converter/convert_epub_to_gif_and_confirm_output_correctness_by_matching_hash_with_known_good_checksum.cs +++ /dev/null @@ -1,71 +0,0 @@ -// Convert EPUB to GIF and confirm output correctness by matching its hash with a known good checksum. - -using System; -using System.IO; -using System.IO.Compression; -using System.Security.Cryptography; -using Aspose.Html.Saving; -using Aspose.Html.Rendering.Image; -using Aspose.Html.Converters; - -class Program -{ - static void Main() - { - try - { - string inputPath = "sample.epub"; - string outputPath = "output.gif"; - - // Create a minimal EPUB file if it does not exist - if (!File.Exists(inputPath)) - { - using (FileStream fs = File.Create(inputPath)) - using (ZipArchive zip = new ZipArchive(fs, ZipArchiveMode.Create)) - { - ZipArchiveEntry entry = zip.CreateEntry("mimetype"); - using (Stream entryStream = entry.Open()) - using (StreamWriter writer = new StreamWriter(entryStream)) - { - writer.Write("application/epub+zip"); - } - } - } - - using (Stream epubStream = File.OpenRead(inputPath)) - { - ImageSaveOptions options = new ImageSaveOptions(ImageFormat.Gif); - Aspose.Html.Converters.Converter.ConvertEPUB(epubStream, options, outputPath); - } - - if (!File.Exists(outputPath)) - { - Console.WriteLine("Conversion failed: output file not found."); - return; - } - - byte[] hashBytes; - using (FileStream fs = File.OpenRead(outputPath)) - using (SHA256 sha256 = SHA256.Create()) - { - hashBytes = sha256.ComputeHash(fs); - } - - string computedHash = BitConverter.ToString(hashBytes).Replace("-", "").ToLowerInvariant(); - string expectedHash = "d41d8cd98f00b204e9800998ecf8427e"; // replace with actual checksum - - if (computedHash == expectedHash) - { - Console.WriteLine("Output hash matches expected checksum."); - } - else - { - Console.WriteLine($"Hash mismatch. Computed: {computedHash}, Expected: {expectedHash}"); - } - } - catch (Exception ex) - { - Console.WriteLine($"Error: {ex.Message}"); - } - } -} \ No newline at end of file diff --git a/epub-converter/convert_epub_to_gif_append_conversion_results_file_size_and_duration_to_audit_log.cs b/epub-converter/convert_epub_to_gif_append_conversion_results_file_size_and_duration_to_audit_log.cs deleted file mode 100644 index 0b5143f..0000000 --- a/epub-converter/convert_epub_to_gif_append_conversion_results_file_size_and_duration_to_audit_log.cs +++ /dev/null @@ -1,47 +0,0 @@ -// Convert EPUB to GIF and append conversion results, including file size and duration, to an audit log. - -using System; -using System.IO; -using System.Diagnostics; -using Aspose.Html.Saving; -using Aspose.Html.Rendering.Image; - -class Program -{ - static void Main() - { - try - { - string inputPath = "sample.epub"; - string outputPath = "output.gif"; - string auditLogPath = "audit.log"; - - if (!File.Exists(inputPath)) - { - File.WriteAllBytes(inputPath, new byte[0]); - } - - using (FileStream epubStream = File.OpenRead(inputPath)) - { - ImageSaveOptions options = new ImageSaveOptions(ImageFormat.Gif); - Stopwatch stopwatch = Stopwatch.StartNew(); - Aspose.Html.Converters.Converter.ConvertEPUB(epubStream, options, outputPath); - stopwatch.Stop(); - - long fileSize = 0; - if (File.Exists(outputPath)) - { - fileSize = new FileInfo(outputPath).Length; - } - - string logEntry = $"Converted '{inputPath}' to '{outputPath}'. Size: {fileSize} bytes. Duration: {stopwatch.ElapsedMilliseconds} ms.{Environment.NewLine}"; - File.AppendAllText(auditLogPath, logEntry); - Console.WriteLine("Conversion completed. Audit log updated."); - } - } - catch (Exception ex) - { - Console.Error.WriteLine($"Error: {ex.Message}"); - } - } -} \ No newline at end of file diff --git a/epub-converter/convert_epub_to_gif_recording_overall_conversion_statistics_output_to_console_for_monitoring.cs b/epub-converter/convert_epub_to_gif_recording_overall_conversion_statistics_output_to_console_for_monitoring.cs deleted file mode 100644 index 7c55204..0000000 --- a/epub-converter/convert_epub_to_gif_recording_overall_conversion_statistics_output_to_console_for_monitoring.cs +++ /dev/null @@ -1,50 +0,0 @@ -// Convert EPUB to GIF while recording overall conversion statistics and outputting them to the console for monitoring. - -class Program -{ - static void Main() - { - try - { - string inputPath = "sample.epub"; - string outputPath = "output.gif"; - - if (!System.IO.File.Exists(inputPath)) - { - using (var fs = System.IO.File.Create(inputPath)) { } - System.Console.WriteLine($"Created placeholder input file: {inputPath}"); - } - - using (var stream = System.IO.File.OpenRead(inputPath)) - { - var options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Gif); - options.UseAntialiasing = true; - options.HorizontalResolution = 96; - options.VerticalResolution = 96; - - var stopwatch = System.Diagnostics.Stopwatch.StartNew(); - - Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); - - stopwatch.Stop(); - - System.Console.WriteLine("Conversion completed."); - System.Console.WriteLine($"Time elapsed: {stopwatch.ElapsedMilliseconds} ms"); - - if (System.IO.File.Exists(outputPath)) - { - var fileInfo = new System.IO.FileInfo(outputPath); - System.Console.WriteLine($"Output file size: {fileInfo.Length} bytes"); - } - else - { - System.Console.WriteLine("Output file was not created."); - } - } - } - catch (System.Exception ex) - { - System.Console.WriteLine($"Error: {ex.Message}"); - } - } -} \ No newline at end of file diff --git a/epub-converter/convert_epub_to_gif_with_css_media_type_screen_reflecting_screen_based_css_rules_during_rendering.cs b/epub-converter/convert_epub_to_gif_with_css_media_type_screen_reflecting_screen_based_css_rules_during_rendering.cs deleted file mode 100644 index ff8520a..0000000 --- a/epub-converter/convert_epub_to_gif_with_css_media_type_screen_reflecting_screen_based_css_rules_during_rendering.cs +++ /dev/null @@ -1,28 +0,0 @@ -// Convert EPUB to GIF using ImageSaveOptions.CssMediaType='screen' to reflect screen‑based CSS rules during rendering. - -public class Program -{ - public static void Main() - { - try - { - string inputPath = "input.epub"; - string outputPath = "output.gif"; - - System.IO.Stream stream = System.IO.File.OpenRead(inputPath); - - Aspose.Html.Saving.ImageSaveOptions options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Gif); - options.Css.MediaType = Aspose.Html.Rendering.MediaType.Screen; - - Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); - - stream.Close(); - - System.Console.WriteLine("Conversion completed successfully."); - } - catch (System.Exception ex) - { - System.Console.WriteLine("Error: " + ex.Message); - } - } -} \ No newline at end of file diff --git a/epub-converter/convert_epub_to_jpeg_and_compute_sha256_hash_of_output_file_to_verify_integrity.cs b/epub-converter/convert_epub_to_jpeg_and_compute_sha256_hash_of_output_file_to_verify_integrity.cs deleted file mode 100644 index 4c1f406..0000000 --- a/epub-converter/convert_epub_to_jpeg_and_compute_sha256_hash_of_output_file_to_verify_integrity.cs +++ /dev/null @@ -1,60 +0,0 @@ -// Convert EPUB to JPEG and compute SHA256 hash of the output file to verify integrity. - -using System; -using System.IO; -using System.Security.Cryptography; -using Aspose.Html.Saving; -using Aspose.Html.Rendering.Image; - -class Program -{ - static void Main(string[] args) - { - try - { - string dataDir = "Data"; - string outputDir = "Output"; - Directory.CreateDirectory(dataDir); - Directory.CreateDirectory(outputDir); - - string inputPath = Path.Combine(dataDir, "sample.epub"); - string outputPath = Path.Combine(outputDir, "output.jpg"); - - if (!File.Exists(inputPath)) - { - // Create a minimal empty EPUB file (zip archive with .epub extension) - using (FileStream fs = File.Create(inputPath)) - { - // Write minimal ZIP header to avoid format errors - byte[] zipHeader = new byte[] { 0x50, 0x4B, 0x05, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; - fs.Write(zipHeader, 0, zipHeader.Length); - } - } - - using (FileStream stream = File.OpenRead(inputPath)) - { - ImageSaveOptions options = new ImageSaveOptions(ImageFormat.Jpeg); - Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); - } - - if (File.Exists(outputPath)) - { - byte[] fileBytes = File.ReadAllBytes(outputPath); - using (SHA256 sha256 = SHA256.Create()) - { - byte[] hash = sha256.ComputeHash(fileBytes); - string hashString = BitConverter.ToString(hash).Replace("-", "").ToLowerInvariant(); - Console.WriteLine("SHA256: " + hashString); - } - } - else - { - Console.WriteLine("Conversion did not produce an output file."); - } - } - catch (Exception ex) - { - Console.WriteLine("Error: " + ex.Message); - } - } -} \ No newline at end of file diff --git a/epub-converter/convert_epub_to_jpeg_asynchronously_using_async_methods_avoid_blocking_calling_thread.cs b/epub-converter/convert_epub_to_jpeg_asynchronously_using_async_methods_avoid_blocking_calling_thread.cs deleted file mode 100644 index 83d2e55..0000000 --- a/epub-converter/convert_epub_to_jpeg_asynchronously_using_async_methods_avoid_blocking_calling_thread.cs +++ /dev/null @@ -1,39 +0,0 @@ -// Convert EPUB to JPEG asynchronously using async methods to avoid blocking the calling thread during processing. - -using System; -using System.IO; -using System.Threading.Tasks; -using Aspose.Html.Saving; -using Aspose.Html.Rendering.Image; -using Aspose.Html.Converters; - -class Program -{ - static async Task Main(string[] args) - { - try - { - string inputPath = "sample.epub"; - string outputPath = "output.jpg"; - - await ConvertEpubToJpegAsync(inputPath, outputPath); - Console.WriteLine("Conversion completed successfully."); - } - catch (Exception ex) - { - Console.WriteLine($"Error: {ex.Message}"); - } - } - - private static async Task ConvertEpubToJpegAsync(string epubPath, string outputPath) - { - await Task.Run(() => - { - using (FileStream stream = File.OpenRead(epubPath)) - { - ImageSaveOptions options = new ImageSaveOptions(ImageFormat.Jpeg); - Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); - } - }); - } -} \ No newline at end of file diff --git a/epub-converter/convert_epub_to_jpeg_imagesaveoptions_dpix_dpiy_300_high_resolution_output.cs b/epub-converter/convert_epub_to_jpeg_imagesaveoptions_dpix_dpiy_300_high_resolution_output.cs deleted file mode 100644 index 69c19db..0000000 --- a/epub-converter/convert_epub_to_jpeg_imagesaveoptions_dpix_dpiy_300_high_resolution_output.cs +++ /dev/null @@ -1,39 +0,0 @@ -// Convert EPUB to JPEG with ImageSaveOptions.DpiX and DpiY set to 300 for high‑resolution output. - -class Program -{ - static void Main() - { - try - { - string dataDir = "Data"; - string inputPath = System.IO.Path.Combine(dataDir, "sample.epub"); - string outputPath = System.IO.Path.Combine(dataDir, "output.jpg"); - - System.IO.Directory.CreateDirectory(dataDir); - - if (!System.IO.File.Exists(inputPath)) - { - using (var fs = System.IO.File.Create(inputPath)) - { - // Minimal placeholder EPUB file (empty) - } - } - - using (var stream = System.IO.File.OpenRead(inputPath)) - { - var options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Jpeg); - options.HorizontalResolution = 300; - options.VerticalResolution = 300; - - Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); - } - - System.Console.WriteLine("Conversion completed."); - } - catch (System.Exception ex) - { - System.Console.WriteLine("Error: " + ex.Message); - } - } -} \ No newline at end of file diff --git a/epub-converter/convert_epub_to_jpeg_with_css_media_type_print_for_print_optimized_rendering.cs b/epub-converter/convert_epub_to_jpeg_with_css_media_type_print_for_print_optimized_rendering.cs deleted file mode 100644 index ab60fb8..0000000 --- a/epub-converter/convert_epub_to_jpeg_with_css_media_type_print_for_print_optimized_rendering.cs +++ /dev/null @@ -1,35 +0,0 @@ -// Convert EPUB to JPEG with ImageSaveOptions.CssMediaType set to 'print' for print‑optimized rendering. - -class Program -{ - static void Main() - { - try - { - string dataDir = "Data"; - string inputFile = System.IO.Path.Combine(dataDir, "sample.epub"); - string outputDir = "Output"; - - System.IO.Directory.CreateDirectory(dataDir); - System.IO.Directory.CreateDirectory(outputDir); - - if (!System.IO.File.Exists(inputFile)) - { - System.IO.File.WriteAllBytes(inputFile, new byte[0]); - } - - using (System.IO.Stream stream = System.IO.File.OpenRead(inputFile)) - { - Aspose.Html.Saving.ImageSaveOptions options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Jpeg); - options.Css.MediaType = Aspose.Html.Rendering.MediaType.Print; - Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputDir); - } - - System.Console.WriteLine("EPUB conversion to JPEG completed successfully."); - } - catch (System.Exception ex) - { - System.Console.WriteLine("Error: " + ex.Message); - } - } -} \ No newline at end of file diff --git a/epub-converter/convert_epub_to_jpeg_with_image_save_options_margins_white_borders_per_page.cs b/epub-converter/convert_epub_to_jpeg_with_image_save_options_margins_white_borders_per_page.cs deleted file mode 100644 index 0bbd873..0000000 --- a/epub-converter/convert_epub_to_jpeg_with_image_save_options_margins_white_borders_per_page.cs +++ /dev/null @@ -1,49 +0,0 @@ -// Convert EPUB to JPEG while configuring ImageSaveOptions.Margins to add white borders around each page. - -using System; -using System.IO; -using System.Drawing; - -class Program -{ - static void Main() - { - try - { - string dataDir = "Data"; - string inputFile = Path.Combine(dataDir, "sample.epub"); - string outputDir = "Output"; - Directory.CreateDirectory(outputDir); - string outputPath = Path.Combine(outputDir, "page.jpg"); - - if (!File.Exists(inputFile)) - { - // Create a minimal placeholder EPUB file - File.WriteAllBytes(inputFile, new byte[0]); - } - - using (FileStream stream = File.OpenRead(inputFile)) - { - var options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Jpeg); - options.UseAntialiasing = true; - options.BackgroundColor = Color.White; - options.HorizontalResolution = 300; - options.VerticalResolution = 300; - - var page = new Aspose.Html.Drawing.Page( - new Aspose.Html.Drawing.Size(800, 1200), - new Aspose.Html.Drawing.Margin(20, 20, 20, 20)); - - options.PageSetup.AnyPage = page; - - Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); - } - - Console.WriteLine("Conversion completed successfully."); - } - catch (Exception ex) - { - Console.WriteLine($"Error: {ex.Message}"); - } - } -} \ No newline at end of file diff --git a/epub-converter/convert_epub_to_jpeg_write_parameters_and_timestamps_to_log_for_auditing.cs b/epub-converter/convert_epub_to_jpeg_write_parameters_and_timestamps_to_log_for_auditing.cs deleted file mode 100644 index 9bd8887..0000000 --- a/epub-converter/convert_epub_to_jpeg_write_parameters_and_timestamps_to_log_for_auditing.cs +++ /dev/null @@ -1,49 +0,0 @@ -// Convert EPUB to JPEG and write conversion parameters and timestamps to a log file for auditing. - -using System; -using System.IO; - -class Program -{ - static void Main() - { - try - { - string dataDir = "Data"; - string inputFile = Path.Combine(dataDir, "sample.epub"); - string outputDir = "Output"; - Directory.CreateDirectory(outputDir); - string outputPath = Path.Combine(outputDir, "output.jpg"); - string logPath = Path.Combine(outputDir, "conversion.log"); - - // Ensure sample EPUB exists (placeholder content) - if (!File.Exists(inputFile)) - { - Directory.CreateDirectory(dataDir); - File.WriteAllBytes(inputFile, new byte[0]); - } - - using (FileStream stream = File.OpenRead(inputFile)) - { - var options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Jpeg); - - string startTime = DateTime.UtcNow.ToString("o"); - File.AppendAllText(logPath, $"Conversion started: {startTime}{Environment.NewLine}"); - File.AppendAllText(logPath, $"Input file: {inputFile}{Environment.NewLine}"); - File.AppendAllText(logPath, $"Output file: {outputPath}{Environment.NewLine}"); - File.AppendAllText(logPath, $"Image format: Jpeg{Environment.NewLine}"); - - Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); - - string endTime = DateTime.UtcNow.ToString("o"); - File.AppendAllText(logPath, $"Conversion completed: {endTime}{Environment.NewLine}"); - } - - Console.WriteLine("EPUB conversion to JPEG completed successfully."); - } - catch (Exception ex) - { - Console.WriteLine($"Error: {ex.Message}"); - } - } -} \ No newline at end of file diff --git a/epub-converter/convert_epub_to_jpeg_write_resulting_image_directly_to_httpresponse_output_stream.cs b/epub-converter/convert_epub_to_jpeg_write_resulting_image_directly_to_httpresponse_output_stream.cs deleted file mode 100644 index f1a898e..0000000 --- a/epub-converter/convert_epub_to_jpeg_write_resulting_image_directly_to_httpresponse_output_stream.cs +++ /dev/null @@ -1,93 +0,0 @@ -// Convert EPUB to JPEG and write the resulting image directly to an HttpResponse output stream. - -using System; -using System.Collections.Generic; -using System.IO; -using Aspose.Html.IO; -using Aspose.Html.Saving; -using Aspose.Html.Rendering.Image; -using Aspose.Html.Converters; - -class MemoryStreamProvider : ICreateStreamProvider, IDisposable -{ - private readonly List _streams = new List(); - - public IReadOnlyList Streams => _streams.AsReadOnly(); - - public Stream GetStream(string name, string extension) - { - var ms = new MemoryStream(); - _streams.Add(ms); - return ms; - } - - public Stream GetStream(string name, string extension, int page) - { - var ms = new MemoryStream(); - _streams.Add(ms); - return ms; - } - - public void ReleaseStream(Stream stream) - { - // No action needed for in-memory streams - } - - public void Dispose() - { - foreach (var ms in _streams) - { - ms.Dispose(); - } - _streams.Clear(); - } -} - -class Program -{ - static void Main() - { - try - { - // Input EPUB file path (sample file will be created if not exists) - string epubPath = "sample.epub"; - if (!File.Exists(epubPath)) - { - // Create a minimal empty EPUB file for demonstration purposes - File.WriteAllBytes(epubPath, new byte[] { 0x50, 0x4B, 0x03, 0x04 }); // ZIP header - } - - // Output JPEG file path (simulating HttpResponse output stream) - string outputPath = "output.jpg"; - - using (Stream epubStream = File.OpenRead(epubPath)) - { - ImageSaveOptions options = new ImageSaveOptions(ImageFormat.Jpeg); - using (MemoryStreamProvider provider = new MemoryStreamProvider()) - { - Aspose.Html.Converters.Converter.ConvertEPUB(epubStream, options, provider); - - if (provider.Streams.Count > 0) - { - MemoryStream resultStream = provider.Streams[0]; - resultStream.Position = 0; - using (FileStream fileStream = File.Create(outputPath)) - { - resultStream.CopyTo(fileStream); - } - } - else - { - Console.WriteLine("No image streams were generated."); - } - } - } - - Console.WriteLine("EPUB conversion completed. Image saved to: " + Path.GetFullPath("output.jpg")); - } - catch (Exception ex) - { - Console.WriteLine("Error: " + ex.Message); - } - } -} \ No newline at end of file diff --git a/epub-converter/convert_epub_to_jpeg_writing_result_directly_to_filestream_using_block.cs b/epub-converter/convert_epub_to_jpeg_writing_result_directly_to_filestream_using_block.cs deleted file mode 100644 index 1163b19..0000000 --- a/epub-converter/convert_epub_to_jpeg_writing_result_directly_to_filestream_using_block.cs +++ /dev/null @@ -1,84 +0,0 @@ -// Convert EPUB to JPEG by writing the result directly to a FileStream within a using block. - -using System; -using System.IO; -using System.Collections.Generic; -using Aspose.Html.IO; -using Aspose.Html.Saving; -using Aspose.Html.Rendering.Image; -using Aspose.Html.Converters; - -class MemoryStreamProvider : Aspose.Html.IO.ICreateStreamProvider, IDisposable -{ - public System.Collections.Generic.List Streams { get; } = new System.Collections.Generic.List(); - - public System.IO.Stream GetStream(string name, string extension) - { - var ms = new System.IO.MemoryStream(); - Streams.Add(ms); - return ms; - } - - public System.IO.Stream GetStream(string name, string extension, int page) - { - var ms = new System.IO.MemoryStream(); - Streams.Add(ms); - return ms; - } - - public void ReleaseStream(System.IO.Stream stream) - { - if (stream != null) - { - stream.Flush(); - } - } - - public void Dispose() - { - foreach (var ms in Streams) - { - ms.Dispose(); - } - } -} - -class Program -{ - static void Main() - { - try - { - string inputPath = "sample.epub"; - string outputDir = "output"; - - System.IO.Directory.CreateDirectory(outputDir); - - using (System.IO.Stream epubStream = System.IO.File.OpenRead(inputPath)) - { - var options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Jpeg); - var provider = new MemoryStreamProvider(); - - Aspose.Html.Converters.Converter.ConvertEPUB(epubStream, options, provider); - - int index = 0; - foreach (var memoryStream in provider.Streams) - { - memoryStream.Position = 0; - string outputPath = System.IO.Path.Combine(outputDir, $"page_{index}.jpg"); - using (System.IO.FileStream fileStream = System.IO.File.Create(outputPath)) - { - memoryStream.CopyTo(fileStream); - } - index++; - } - - provider.Dispose(); - } - } - catch (Exception ex) - { - Console.WriteLine("Error: " + ex.Message); - } - } -} \ No newline at end of file diff --git a/epub-converter/convert_epub_to_jpg_images_default_settings_saving_each_page_separate_file.cs b/epub-converter/convert_epub_to_jpg_images_default_settings_saving_each_page_separate_file.cs deleted file mode 100644 index 35d72cb..0000000 --- a/epub-converter/convert_epub_to_jpg_images_default_settings_saving_each_page_separate_file.cs +++ /dev/null @@ -1,30 +0,0 @@ -// Convert an EPUB file to JPG images using default settings, saving each page as a separate file. - -namespace Example -{ - class Program - { - static void Main() - { - try - { - string inputPath = "sample.epub"; - string outputDir = "output"; - System.IO.Directory.CreateDirectory(outputDir); - string outputPath = System.IO.Path.Combine(outputDir, "page"); - - using (System.IO.FileStream stream = System.IO.File.OpenRead(inputPath)) - { - Aspose.Html.Saving.ImageSaveOptions options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Jpeg); - Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); - } - - System.Console.WriteLine("EPUB conversion to JPEG completed successfully."); - } - catch (System.Exception ex) - { - System.Console.WriteLine("Error: " + ex.Message); - } - } - } -} \ No newline at end of file diff --git a/epub-converter/convert_epub_to_multiple_image_formats_single_pass_batch_processing_loop.cs b/epub-converter/convert_epub_to_multiple_image_formats_single_pass_batch_processing_loop.cs deleted file mode 100644 index 0f1024d..0000000 --- a/epub-converter/convert_epub_to_multiple_image_formats_single_pass_batch_processing_loop.cs +++ /dev/null @@ -1,49 +0,0 @@ -// Convert an EPUB file to multiple image formats in a single pass using a batch processing loop. - -using System; -using System.IO; - -class Program -{ - static void Main() - { - try - { - string dataDir = Path.Combine(Directory.GetCurrentDirectory(), "Data"); - string outputDir = Path.Combine(Directory.GetCurrentDirectory(), "Output"); - Directory.CreateDirectory(dataDir); - Directory.CreateDirectory(outputDir); - - string epubPath = Path.Combine(dataDir, "sample.epub"); - if (!File.Exists(epubPath)) - { - File.WriteAllBytes(epubPath, new byte[0]); - } - - var formats = new (Aspose.Html.Rendering.Image.ImageFormat format, string extension)[] - { - (Aspose.Html.Rendering.Image.ImageFormat.Jpeg, "jpg"), - (Aspose.Html.Rendering.Image.ImageFormat.Png, "png"), - (Aspose.Html.Rendering.Image.ImageFormat.Bmp, "bmp"), - (Aspose.Html.Rendering.Image.ImageFormat.Tiff, "tiff") - }; - - using (FileStream stream = File.OpenRead(epubPath)) - { - foreach (var fmt in formats) - { - var options = new Aspose.Html.Saving.ImageSaveOptions(fmt.format); - string outputPath = Path.Combine(outputDir, $"output.{fmt.extension}"); - Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); - stream.Position = 0; - } - } - - Console.WriteLine("Conversion completed."); - } - catch (Exception ex) - { - Console.WriteLine($"Error: {ex.Message}"); - } - } -} \ No newline at end of file diff --git a/epub-converter/convert_epub_to_pdf_apply_custom_css_styles_pdfsaveoptions.cs b/epub-converter/convert_epub_to_pdf_apply_custom_css_styles_pdfsaveoptions.cs deleted file mode 100644 index f496d1f..0000000 --- a/epub-converter/convert_epub_to_pdf_apply_custom_css_styles_pdfsaveoptions.cs +++ /dev/null @@ -1,47 +0,0 @@ -// Convert an EPUB file to PDF and apply custom CSS styles using PdfSaveOptions. - -using System; -using System.IO; -using System.Drawing; - -class Program -{ - static void Main() - { - try - { - string inputPath = "sample.epub"; - string outputPath = "output.pdf"; - - // Create a minimal EPUB file if it does not exist - if (!File.Exists(inputPath)) - { - File.WriteAllBytes(inputPath, new byte[0]); - } - - // Custom CSS to be applied - string cssContent = "body { font-family: Arial; color: #333333; }"; - - // Configure user agent with custom stylesheet - Aspose.Html.Configuration configuration = new Aspose.Html.Configuration(); - Aspose.Html.Services.IUserAgentService userAgent = (Aspose.Html.Services.IUserAgentService)configuration.GetService(typeof(Aspose.Html.Services.IUserAgentService)); - userAgent.UserStyleSheet = cssContent; - - // Set PDF save options (optional background color) - Aspose.Html.Saving.PdfSaveOptions options = new Aspose.Html.Saving.PdfSaveOptions(); - options.BackgroundColor = Color.AliceBlue; - - // Perform conversion - using (Stream stream = File.OpenRead(inputPath)) - { - Aspose.Html.Converters.Converter.ConvertEPUB(stream, configuration, options, outputPath); - } - - Console.WriteLine("EPUB successfully converted to PDF with custom CSS."); - } - catch (Exception ex) - { - Console.WriteLine($"Error: {ex.Message}"); - } - } -} \ No newline at end of file diff --git a/epub-converter/convert_epub_to_pdf_ensure_output_directory_exists_before_writing.cs b/epub-converter/convert_epub_to_pdf_ensure_output_directory_exists_before_writing.cs deleted file mode 100644 index ac4dcaf..0000000 --- a/epub-converter/convert_epub_to_pdf_ensure_output_directory_exists_before_writing.cs +++ /dev/null @@ -1,34 +0,0 @@ -// Convert an EPUB file to PDF ensuring the output directory exists before writing the file. - -using System; - -class Program -{ - static void Main() - { - try - { - string sourcePath = "sample.epub"; - string outputDir = "output"; - System.IO.Directory.CreateDirectory(outputDir); - string outputPath = System.IO.Path.Combine(outputDir, "result.pdf"); - - if (!System.IO.File.Exists(sourcePath)) - { - System.IO.File.WriteAllBytes(sourcePath, new byte[0]); - } - - using (System.IO.Stream stream = System.IO.File.OpenRead(sourcePath)) - { - var options = new Aspose.Html.Saving.PdfSaveOptions(); - Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); - } - - Console.WriteLine("EPUB successfully converted to PDF at: " + outputPath); - } - catch (Exception ex) - { - Console.WriteLine("Error during conversion: " + ex.Message); - } - } -} \ No newline at end of file diff --git a/epub-converter/convert_epub_to_pdf_using_filestream_read_only_access.cs b/epub-converter/convert_epub_to_pdf_using_filestream_read_only_access.cs deleted file mode 100644 index b8e3896..0000000 --- a/epub-converter/convert_epub_to_pdf_using_filestream_read_only_access.cs +++ /dev/null @@ -1,41 +0,0 @@ -// Convert an EPUB file to PDF by reading the source via FileStream with read‑only access. - -namespace Example -{ - class Program - { - static void Main(string[] args) - { - try - { - string inputPath = System.IO.Path.Combine(System.AppDomain.CurrentDomain.BaseDirectory, "sample.epub"); - string outputPath = System.IO.Path.Combine(System.AppDomain.CurrentDomain.BaseDirectory, "sample.pdf"); - - if (!System.IO.File.Exists(inputPath)) - { - using (var zip = new System.IO.Compression.ZipArchive(System.IO.File.Create(inputPath), System.IO.Compression.ZipArchiveMode.Create)) - { - var entry = zip.CreateEntry("mimetype"); - using (var entryStream = entry.Open()) - using (var writer = new System.IO.StreamWriter(entryStream)) - { - writer.Write("application/epub+zip"); - } - } - } - - using (System.IO.Stream epubStream = System.IO.File.OpenRead(inputPath)) - { - Aspose.Html.Saving.PdfSaveOptions options = new Aspose.Html.Saving.PdfSaveOptions(); - Aspose.Html.Converters.Converter.ConvertEPUB(epubStream, options, outputPath); - } - - System.Console.WriteLine("EPUB converted to PDF successfully. Output: " + outputPath); - } - catch (System.Exception ex) - { - System.Console.WriteLine("Error: " + ex.Message); - } - } - } -} \ No newline at end of file diff --git a/epub-converter/convert_epub_to_pdf_with_pathcombine_platform_independent_path.cs b/epub-converter/convert_epub_to_pdf_with_pathcombine_platform_independent_path.cs deleted file mode 100644 index c897299..0000000 --- a/epub-converter/convert_epub_to_pdf_with_pathcombine_platform_independent_path.cs +++ /dev/null @@ -1,44 +0,0 @@ -// Convert an EPUB file to PDF specifying the output path using Path.Combine for platform‑independent paths. - -using System; -using System.IO; - -class Program -{ - static void Main() - { - try - { - // Input EPUB file path (sample file) - string inputPath = "sample.epub"; - - // Create a minimal sample EPUB file if it does not exist - if (!File.Exists(inputPath)) - { - // Write an empty file as placeholder (real EPUB content is not required for the example) - File.WriteAllBytes(inputPath, new byte[0]); - } - - // Output directory and file path - string outputDir = "output"; - Directory.CreateDirectory(outputDir); - string outputPath = Path.Combine(outputDir, "result.pdf"); - - // Open the EPUB file stream - using (Stream epubStream = File.OpenRead(inputPath)) - { - // Set PDF save options - var pdfOptions = new Aspose.Html.Saving.PdfSaveOptions(); - - // Convert EPUB to PDF - Aspose.Html.Converters.Converter.ConvertEPUB(epubStream, pdfOptions, outputPath); - } - - Console.WriteLine("EPUB successfully converted to PDF at: " + outputPath); - } - catch (Exception ex) - { - Console.WriteLine("An error occurred: " + ex.Message); - } - } -} \ No newline at end of file diff --git a/epub-converter/convert_epub_to_png_and_generate_pdf_summary_of_conversion_parameters_for_documentation.cs b/epub-converter/convert_epub_to_png_and_generate_pdf_summary_of_conversion_parameters_for_documentation.cs deleted file mode 100644 index 6acfe27..0000000 --- a/epub-converter/convert_epub_to_png_and_generate_pdf_summary_of_conversion_parameters_for_documentation.cs +++ /dev/null @@ -1,49 +0,0 @@ -// Convert EPUB to PNG and simultaneously generate a PDF summary of conversion parameters for documentation purposes. - -using System; -using System.IO; -using Aspose.Html.Saving; -using Aspose.Html.Converters; - -class Program -{ - static void Main() - { - try - { - string dataDir = "Data"; - string outputDir = "Output"; - System.IO.Directory.CreateDirectory(dataDir); - System.IO.Directory.CreateDirectory(outputDir); - string epubPath = System.IO.Path.Combine(dataDir, "sample.epub"); - if (!System.IO.File.Exists(epubPath)) - { - System.IO.File.WriteAllBytes(epubPath, new byte[0]); - } - - // Convert EPUB to PNG - using (System.IO.FileStream epubStream = System.IO.File.OpenRead(epubPath)) - { - Aspose.Html.Saving.ImageSaveOptions imageOptions = new Aspose.Html.Saving.ImageSaveOptions(); - imageOptions.HorizontalResolution = 300; - imageOptions.VerticalResolution = 300; - string pngPath = System.IO.Path.Combine(outputDir, "output.png"); - Aspose.Html.Converters.Converter.ConvertEPUB(epubStream, imageOptions, pngPath); - } - - // Convert EPUB to PDF (summary) - using (System.IO.FileStream epubStream2 = System.IO.File.OpenRead(epubPath)) - { - Aspose.Html.Saving.PdfSaveOptions pdfOptions = new Aspose.Html.Saving.PdfSaveOptions(); - string pdfPath = System.IO.Path.Combine(outputDir, "summary.pdf"); - Aspose.Html.Converters.Converter.ConvertEPUB(epubStream2, pdfOptions, pdfPath); - } - - System.Console.WriteLine("Conversion completed successfully."); - } - catch (System.Exception ex) - { - System.Console.WriteLine("Error: " + ex.Message); - } - } -} \ No newline at end of file diff --git a/epub-converter/convert_epub_to_png_and_validate_output_comparing_hash_with_expected_metadata.cs b/epub-converter/convert_epub_to_png_and_validate_output_comparing_hash_with_expected_metadata.cs deleted file mode 100644 index 210994b..0000000 --- a/epub-converter/convert_epub_to_png_and_validate_output_comparing_hash_with_expected_metadata.cs +++ /dev/null @@ -1,64 +0,0 @@ -// Convert EPUB to PNG and validate the output by comparing calculated hash with expected value stored in metadata. - -using System; -using System.IO; -using System.Security.Cryptography; - -class Program -{ - static void Main() - { - try - { - string dataDir = "Data"; - string outputDir = "Output"; - Directory.CreateDirectory(dataDir); - Directory.CreateDirectory(outputDir); - - string epubPath = Path.Combine(dataDir, "sample.epub"); - string outputPath = Path.Combine(outputDir, "output.png"); - - if (!File.Exists(epubPath)) - { - File.WriteAllBytes(epubPath, new byte[0]); - } - - using (FileStream epubStream = File.OpenRead(epubPath)) - { - Aspose.Html.Saving.ImageSaveOptions options = new Aspose.Html.Saving.ImageSaveOptions(); - options.HorizontalResolution = 300; - options.VerticalResolution = 300; - - Aspose.Html.Converters.Converter.ConvertEPUB(epubStream, options, outputPath); - } - - if (File.Exists(outputPath)) - { - byte[] pngBytes = File.ReadAllBytes(outputPath); - using (SHA256 sha256 = SHA256.Create()) - { - byte[] hashBytes = sha256.ComputeHash(pngBytes); - string actualHash = BitConverter.ToString(hashBytes).Replace("-", "").ToLowerInvariant(); - string expectedHash = "expectedhashvalue"; - - if (actualHash == expectedHash) - { - Console.WriteLine("Hash validation succeeded."); - } - else - { - Console.WriteLine($"Hash validation failed. Expected: {expectedHash}, Actual: {actualHash}"); - } - } - } - else - { - Console.WriteLine("Output PNG not found."); - } - } - catch (Exception ex) - { - Console.WriteLine($"Error: {ex.Message}"); - } - } -} \ No newline at end of file diff --git a/epub-converter/convert_epub_to_png_images_custom_dpi_save_options.cs b/epub-converter/convert_epub_to_png_images_custom_dpi_save_options.cs deleted file mode 100644 index 92a7127..0000000 --- a/epub-converter/convert_epub_to_png_images_custom_dpi_save_options.cs +++ /dev/null @@ -1,32 +0,0 @@ -// Convert an EPUB file to PNG images with a custom DPI setting via appropriate save options. - -public class Program -{ - public static void Main() - { - try - { - string dataDir = "Data"; - string outputDir = "Output"; - System.IO.Directory.CreateDirectory(dataDir); - System.IO.Directory.CreateDirectory(outputDir); - string epubPath = System.IO.Path.Combine(dataDir, "sample.epub"); - if (!System.IO.File.Exists(epubPath)) - { - System.IO.File.WriteAllBytes(epubPath, new byte[0]); - } - using (System.IO.FileStream stream = System.IO.File.OpenRead(epubPath)) - { - var options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Png); - options.HorizontalResolution = 300; - options.VerticalResolution = 300; - Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputDir); - } - System.Console.WriteLine("EPUB conversion completed."); - } - catch (System.Exception ex) - { - System.Console.WriteLine("Error: " + ex.Message); - } - } -} \ No newline at end of file diff --git a/epub-converter/convert_epub_to_png_imagesaveoptions_specific_page_size_control_image_scaling.cs b/epub-converter/convert_epub_to_png_imagesaveoptions_specific_page_size_control_image_scaling.cs deleted file mode 100644 index 68b235e..0000000 --- a/epub-converter/convert_epub_to_png_imagesaveoptions_specific_page_size_control_image_scaling.cs +++ /dev/null @@ -1,32 +0,0 @@ -// Convert EPUB to PNG with ImageSaveOptions defining a specific page size to control image scaling. - -class Program -{ - static void Main() - { - try - { - string inputPath = "sample.epub"; - string outputPath = "output.png"; - - System.IO.Stream stream = System.IO.File.OpenRead(inputPath); - - Aspose.Html.Saving.ImageSaveOptions options = new Aspose.Html.Saving.ImageSaveOptions(); - options.HorizontalResolution = 300; - options.VerticalResolution = 300; - options.PageSetup.AnyPage = new Aspose.Html.Drawing.Page( - new Aspose.Html.Drawing.Size( - Aspose.Html.Drawing.Length.FromPixels(800), - Aspose.Html.Drawing.Length.FromPixels(600)), - new Aspose.Html.Drawing.Margin(0, 0, 0, 0)); - - Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); - - stream.Dispose(); - } - catch (System.Exception ex) - { - System.Console.WriteLine("Error: " + ex.Message); - } - } -} \ No newline at end of file diff --git a/epub-converter/convert_epub_to_png_implement_iprogress_receive_real_time_updates.cs b/epub-converter/convert_epub_to_png_implement_iprogress_receive_real_time_updates.cs deleted file mode 100644 index 067c653..0000000 --- a/epub-converter/convert_epub_to_png_implement_iprogress_receive_real_time_updates.cs +++ /dev/null @@ -1,43 +0,0 @@ -// Convert EPUB to PNG and implement IProgress interface to receive real‑time updates from the conversion process. - -using System; -using System.IO; - -class Program -{ - static void Main() - { - try - { - string inputPath = "sample.epub"; - string outputPath = "output.png"; - - // Create a placeholder EPUB file if it does not exist - if (!File.Exists(inputPath)) - { - using (FileStream fs = new FileStream(inputPath, FileMode.Create)) - { - // Minimal placeholder content (empty file) - } - } - - using (FileStream epubStream = File.OpenRead(inputPath)) - { - var options = new Aspose.Html.Saving.ImageSaveOptions(); - options.HorizontalResolution = 300; - options.VerticalResolution = 300; - - IProgress progress = new Progress(p => Console.WriteLine($"Conversion progress: {p}%")); - - Console.WriteLine("Starting EPUB to PNG conversion..."); - Aspose.Html.Converters.Converter.ConvertEPUB(epubStream, options, outputPath); - progress.Report(100); - Console.WriteLine($"Conversion completed. PNG saved to '{outputPath}'."); - } - } - catch (Exception ex) - { - Console.WriteLine($"Error: {ex.Message}"); - } - } -} \ No newline at end of file diff --git a/epub-converter/convert_epub_to_png_log_each_page_conversion_status_including_success_error_messages.cs b/epub-converter/convert_epub_to_png_log_each_page_conversion_status_including_success_error_messages.cs deleted file mode 100644 index 694abaf..0000000 --- a/epub-converter/convert_epub_to_png_log_each_page_conversion_status_including_success_error_messages.cs +++ /dev/null @@ -1,96 +0,0 @@ -// Convert EPUB to PNG and log each page conversion status, including success or error messages. - -using System; -using System.IO; -using System.Collections.Generic; -using Aspose.Html.IO; -using Aspose.Html.Saving; -using Aspose.Html.Converters; - -class MemoryStreamProvider : Aspose.Html.IO.ICreateStreamProvider, IDisposable -{ - private List _streams = new List(); - - public Stream GetStream(string name, string extension) - { - var ms = new MemoryStream(); - _streams.Add(ms); - return ms; - } - - public Stream GetStream(string name, string extension, int page) - { - var ms = new MemoryStream(); - _streams.Add(ms); - return ms; - } - - public void ReleaseStream(Stream stream) - { - // No action needed for in-memory streams - } - - public void Dispose() - { - foreach (var ms in _streams) - { - ms.Dispose(); - } - _streams.Clear(); - } - - public IReadOnlyList Streams => _streams; -} - -class Program -{ - static void Main() - { - try - { - string inputPath = "sample.epub"; - string outputDir = "output"; - - if (!Directory.Exists(outputDir)) - { - Directory.CreateDirectory(outputDir); - } - - using (Stream epubStream = File.OpenRead(inputPath)) - { - var options = new Aspose.Html.Saving.ImageSaveOptions(); - options.HorizontalResolution = 300; - options.VerticalResolution = 300; - - using (var provider = new MemoryStreamProvider()) - { - Aspose.Html.Converters.Converter.ConvertEPUB(epubStream, options, provider); - - int pageIndex = 1; - foreach (var memoryStream in provider.Streams) - { - try - { - memoryStream.Position = 0; - string outputPath = Path.Combine(outputDir, $"page_{pageIndex}.png"); - using (var fileStream = File.Create(outputPath)) - { - memoryStream.CopyTo(fileStream); - } - Console.WriteLine($"Page {pageIndex}: conversion succeeded, saved to '{outputPath}'."); - } - catch (Exception ex) - { - Console.WriteLine($"Page {pageIndex}: error saving PNG - {ex.Message}"); - } - pageIndex++; - } - } - } - } - catch (Exception ex) - { - Console.WriteLine($"Conversion failed: {ex.Message}"); - } - } -} \ No newline at end of file diff --git a/epub-converter/convert_epub_to_png_pipe_output_into_filestream_for_efficient_disk_writing.cs b/epub-converter/convert_epub_to_png_pipe_output_into_filestream_for_efficient_disk_writing.cs deleted file mode 100644 index 63541e0..0000000 --- a/epub-converter/convert_epub_to_png_pipe_output_into_filestream_for_efficient_disk_writing.cs +++ /dev/null @@ -1,75 +0,0 @@ -// Convert EPUB to PNG and pipe the output into a FileStream for efficient disk writing. - -using System; -using System.IO; -using System.Collections.Generic; - -class MemoryStreamProvider : Aspose.Html.IO.ICreateStreamProvider, IDisposable -{ - public List Streams { get; } = new List(); - - public Stream GetStream(string name, string extension) - { - var ms = new MemoryStream(); - Streams.Add(ms); - return ms; - } - - public Stream GetStream(string name, string extension, int page) - { - var ms = new MemoryStream(); - Streams.Add(ms); - return ms; - } - - public void ReleaseStream(Stream stream) - { - // No action needed - } - - public void Dispose() - { - foreach (var ms in Streams) - { - ms.Dispose(); - } - } -} - -class Program -{ - static void Main() - { - try - { - string inputPath = "sample.epub"; - - if (!File.Exists(inputPath)) - { - File.WriteAllBytes(inputPath, new byte[0]); - } - - using Stream epubStream = File.OpenRead(inputPath); - var options = new Aspose.Html.Saving.ImageSaveOptions(); - using var provider = new MemoryStreamProvider(); - - Aspose.Html.Converters.Converter.ConvertEPUB(epubStream, options, provider); - - int index = 0; - foreach (var ms in provider.Streams) - { - ms.Position = 0; - string outputPath = $"page_{index}.png"; - using FileStream fileStream = File.Create(outputPath); - ms.CopyTo(fileStream); - index++; - } - - Console.WriteLine("Conversion completed."); - } - catch (Exception ex) - { - Console.WriteLine($"Error: {ex.Message}"); - } - } -} \ No newline at end of file diff --git a/epub-converter/convert_epub_to_png_with_imagesaveoptions_cssmediatype_print_and_custom_css_high_contrast_output.cs b/epub-converter/convert_epub_to_png_with_imagesaveoptions_cssmediatype_print_and_custom_css_high_contrast_output.cs deleted file mode 100644 index 05dfc2d..0000000 --- a/epub-converter/convert_epub_to_png_with_imagesaveoptions_cssmediatype_print_and_custom_css_high_contrast_output.cs +++ /dev/null @@ -1,42 +0,0 @@ -// Convert EPUB to PNG with ImageSaveOptions.CssMediaType set to 'print' and custom CSS for high‑contrast output. - -using System; -using System.IO; - -class Program -{ - static void Main() - { - try - { - string dataDir = Path.Combine(Directory.GetCurrentDirectory(), "Data"); - Directory.CreateDirectory(dataDir); - string inputPath = Path.Combine(dataDir, "sample.epub"); - if (!File.Exists(inputPath)) - { - File.WriteAllBytes(inputPath, new byte[0]); - } - - string outputPath = Path.Combine(Directory.GetCurrentDirectory(), "output.png"); - - using (Stream stream = File.OpenRead(inputPath)) - { - Aspose.Html.Configuration configuration = new Aspose.Html.Configuration(); - - Aspose.Html.Services.IUserAgentService userAgent = (Aspose.Html.Services.IUserAgentService)configuration.GetService(typeof(Aspose.Html.Services.IUserAgentService)); - userAgent.UserStyleSheet = "body { background: black !important; color: white !important; }"; - - Aspose.Html.Saving.ImageSaveOptions options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Png); - options.Css.MediaType = Aspose.Html.Rendering.MediaType.Print; - - Aspose.Html.Converters.Converter.ConvertEPUB(stream, configuration, options, outputPath); - } - - Console.WriteLine("Conversion completed successfully."); - } - catch (Exception ex) - { - Console.WriteLine("Error: " + ex.Message); - } - } -} \ No newline at end of file diff --git a/epub-converter/convert_epub_to_tiff_and_archive_output_files_into_zip_container_simplify_file_management.cs b/epub-converter/convert_epub_to_tiff_and_archive_output_files_into_zip_container_simplify_file_management.cs deleted file mode 100644 index 8c75d1c..0000000 --- a/epub-converter/convert_epub_to_tiff_and_archive_output_files_into_zip_container_simplify_file_management.cs +++ /dev/null @@ -1,52 +0,0 @@ -// Convert EPUB to TIFF and archive all output files into a ZIP container to simplify file management. - -using System; -using System.IO; -using System.IO.Compression; - -class Program -{ - static void Main() - { - try - { - string epubPath = "sample.epub"; - string outputDir = "output"; - string zipPath = "output.zip"; - - if (!Directory.Exists(outputDir)) - Directory.CreateDirectory(outputDir); - - using (System.IO.Stream epubStream = System.IO.File.OpenRead(epubPath)) - { - var options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Tiff) - { - Compression = Aspose.Html.Rendering.Image.Compression.None, - UseAntialiasing = true, - HorizontalResolution = 300, - VerticalResolution = 300, - BackgroundColor = System.Drawing.Color.White - }; - - Aspose.Html.Converters.Converter.ConvertEPUB(epubStream, options, outputDir); - } - - if (File.Exists(zipPath)) - File.Delete(zipPath); - - using (ZipArchive zip = ZipFile.Open(zipPath, ZipArchiveMode.Create)) - { - foreach (string file in Directory.GetFiles(outputDir)) - { - zip.CreateEntryFromFile(file, Path.GetFileName(file)); - } - } - - Console.WriteLine("Conversion and archiving completed successfully."); - } - catch (Exception ex) - { - Console.WriteLine($"Error: {ex.Message}"); - } - } -} \ No newline at end of file diff --git a/epub-converter/convert_epub_to_tiff_and_generate_log_summarizing_image_dimensions_and_compression_settings.cs b/epub-converter/convert_epub_to_tiff_and_generate_log_summarizing_image_dimensions_and_compression_settings.cs deleted file mode 100644 index f75d7fe..0000000 --- a/epub-converter/convert_epub_to_tiff_and_generate_log_summarizing_image_dimensions_and_compression_settings.cs +++ /dev/null @@ -1,56 +0,0 @@ -// Convert EPUB to TIFF and generate a detailed log entry summarizing image dimensions and compression settings. - -using System; -using System.IO; -using System.Drawing; - -class Program -{ - static void Main() - { - try - { - // Input EPUB file path (replace with a valid EPUB file path) - string inputPath = "sample.epub"; - // Output TIFF file path - string outputPath = "output.tiff"; - - // Open EPUB file stream - using (FileStream stream = File.OpenRead(inputPath)) - { - // Configure image save options for TIFF - Aspose.Html.Saving.ImageSaveOptions options = new Aspose.Html.Saving.ImageSaveOptions( - Aspose.Html.Rendering.Image.ImageFormat.Tiff) - { - Compression = Aspose.Html.Rendering.Image.Compression.None, - UseAntialiasing = true, - HorizontalResolution = 300, - VerticalResolution = 300, - BackgroundColor = System.Drawing.Color.White - }; - - // Set page size and margins - Aspose.Html.Drawing.Page page = new Aspose.Html.Drawing.Page( - new Aspose.Html.Drawing.Size(2480, 3508), // A4 at 300 DPI - new Aspose.Html.Drawing.Margin(0, 0, 0, 0)); - options.PageSetup.AnyPage = page; - - // Perform conversion - Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); - } - - // Log conversion details - Console.WriteLine("EPUB to TIFF conversion completed."); - Console.WriteLine($"Output file: output.tiff"); - Console.WriteLine($"Image format: TIFF"); - Console.WriteLine($"Compression: None"); - Console.WriteLine($"Horizontal Resolution: 300 DPI"); - Console.WriteLine($"Vertical Resolution: 300 DPI"); - Console.WriteLine($"Page size: 2480 x 3508 pixels"); - } - catch (Exception ex) - { - Console.WriteLine($"Error: {ex.Message}"); - } - } -} \ No newline at end of file diff --git a/epub-converter/convert_epub_to_tiff_applying_user_defined_css_file_via_image_save_options_control_rendering_styles.cs b/epub-converter/convert_epub_to_tiff_applying_user_defined_css_file_via_image_save_options_control_rendering_styles.cs deleted file mode 100644 index 65ccf56..0000000 --- a/epub-converter/convert_epub_to_tiff_applying_user_defined_css_file_via_image_save_options_control_rendering_styles.cs +++ /dev/null @@ -1,49 +0,0 @@ -// Convert EPUB to TIFF applying a user‑defined CSS file via ImageSaveOptions to control rendering styles. - -using System; -using System.IO; - -namespace Example -{ - class Program - { - static void Main() - { - try - { - string epubPath = "sample.epub"; - string cssPath = "style.css"; - string outputPath = "output.tiff"; - - // Create minimal sample files if they do not exist - if (!File.Exists(epubPath)) - { - File.WriteAllBytes(epubPath, new byte[0]); - } - if (!File.Exists(cssPath)) - { - File.WriteAllText(cssPath, "body { background: #fff; }"); - } - - using (FileStream stream = File.OpenRead(epubPath)) - { - string cssContent = File.ReadAllText(cssPath); - - Aspose.Html.Configuration configuration = new Aspose.Html.Configuration(); - Aspose.Html.Services.IUserAgentService userAgent = (Aspose.Html.Services.IUserAgentService)configuration.GetService(typeof(Aspose.Html.Services.IUserAgentService)); - userAgent.UserStyleSheet = cssContent; - - Aspose.Html.Saving.ImageSaveOptions options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Tiff); - - Aspose.Html.Converters.Converter.ConvertEPUB(stream, configuration, options, outputPath); - } - - Console.WriteLine("Conversion completed successfully."); - } - catch (Exception ex) - { - Console.WriteLine("Error: " + ex.Message); - } - } - } -} \ No newline at end of file diff --git a/epub-converter/convert_epub_to_tiff_sha1_hash_verification_precomputed_reference_integrity.cs b/epub-converter/convert_epub_to_tiff_sha1_hash_verification_precomputed_reference_integrity.cs deleted file mode 100644 index f207512..0000000 --- a/epub-converter/convert_epub_to_tiff_sha1_hash_verification_precomputed_reference_integrity.cs +++ /dev/null @@ -1,68 +0,0 @@ -// Convert EPUB to TIFF with SHA1 hash verification against a pre‑computed reference to ensure integrity. - -using System; -using System.IO; -using System.Security.Cryptography; -using Aspose.Html.Saving; -using Aspose.Html.Rendering.Image; -using Aspose.Html.Drawing; -using Aspose.Html.Converters; - -class Program -{ - static void Main() - { - try - { - // Define input and output paths - string inputEpubPath = "sample.epub"; - string outputTiffPath = "output.tiff"; - - // Ensure a sample EPUB file exists (empty placeholder) - if (!File.Exists(inputEpubPath)) - { - File.WriteAllBytes(inputEpubPath, new byte[0]); - } - - // Open EPUB file stream - using (Stream epubStream = File.OpenRead(inputEpubPath)) - { - // Configure image save options for TIFF - ImageSaveOptions options = new ImageSaveOptions(ImageFormat.Tiff) - { - Compression = Compression.None, - UseAntialiasing = true, - HorizontalResolution = 300, - VerticalResolution = 300 - }; - - // Set page size and margins - options.PageSetup.AnyPage = new Page( - new Size(800, 600), - new Margin(10, 10, 10, 10) - ); - - // Convert EPUB to TIFF - Aspose.Html.Converters.Converter.ConvertEPUB(epubStream, options, outputTiffPath); - } - - // Read the generated TIFF file - byte[] outputBytes = File.ReadAllBytes(outputTiffPath); - - // Compute SHA-256 hash - using (SHA256 sha256 = SHA256.Create()) - { - byte[] hashBytes = sha256.ComputeHash(outputBytes); - string hashString = BitConverter.ToString(hashBytes).Replace("-", "").ToLowerInvariant(); - - // Print results - Console.WriteLine("Output TIFF Path: " + Path.GetFullPath(outputTiffPath)); - Console.WriteLine("SHA-256 Hash: " + hashString); - } - } - catch (Exception ex) - { - Console.WriteLine("Error: " + ex.Message); - } - } -} \ No newline at end of file diff --git a/epub-converter/convert_epub_to_tiff_using_imagesaveoptions_pagesize_to_enforce_exact_page_dimensions_during_rendering.cs b/epub-converter/convert_epub_to_tiff_using_imagesaveoptions_pagesize_to_enforce_exact_page_dimensions_during_rendering.cs deleted file mode 100644 index 48cf9f3..0000000 --- a/epub-converter/convert_epub_to_tiff_using_imagesaveoptions_pagesize_to_enforce_exact_page_dimensions_during_rendering.cs +++ /dev/null @@ -1,37 +0,0 @@ -// Convert EPUB to TIFF using ImageSaveOptions.PageSize to enforce exact page dimensions during rendering. - -using System; - -class Program -{ - static void Main() - { - try - { - string inputPath = "sample.epub"; - string outputPath = "output.tiff"; - - System.IO.Stream stream = System.IO.File.OpenRead(inputPath); - - Aspose.Html.Saving.ImageSaveOptions options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Tiff); - options.Compression = Aspose.Html.Rendering.Image.Compression.None; - options.UseAntialiasing = true; - options.HorizontalResolution = 300; - options.VerticalResolution = 300; - options.BackgroundColor = System.Drawing.Color.White; - - Aspose.Html.Drawing.Page page = new Aspose.Html.Drawing.Page( - new Aspose.Html.Drawing.Size(800, 600), - new Aspose.Html.Drawing.Margin(0, 0, 0, 0)); - options.PageSetup.AnyPage = page; - - Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); - - stream.Dispose(); - } - catch (System.Exception ex) - { - System.Console.WriteLine("Error: " + ex.Message); - } - } -} \ No newline at end of file diff --git a/epub-converter/convert_epub_to_tiff_with_lzw_compression_enabled.cs b/epub-converter/convert_epub_to_tiff_with_lzw_compression_enabled.cs deleted file mode 100644 index f2f3e74..0000000 --- a/epub-converter/convert_epub_to_tiff_with_lzw_compression_enabled.cs +++ /dev/null @@ -1,45 +0,0 @@ -// Convert an EPUB file to TIFF image with LZW compression enabled through conversion options. - -namespace Example -{ - class Program - { - static void Main() - { - try - { - string inputPath = System.IO.Path.Combine(System.AppDomain.CurrentDomain.BaseDirectory, "sample.epub"); - string outputPath = System.IO.Path.Combine(System.AppDomain.CurrentDomain.BaseDirectory, "output.tiff"); - - if (!System.IO.File.Exists(inputPath)) - { - System.IO.File.WriteAllBytes(inputPath, new byte[0]); - } - - using (System.IO.FileStream stream = System.IO.File.OpenRead(inputPath)) - { - Aspose.Html.Saving.ImageSaveOptions options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Tiff) - { - UseAntialiasing = true, - HorizontalResolution = 300, - VerticalResolution = 300, - BackgroundColor = System.Drawing.Color.White - }; - - Aspose.Html.Drawing.Page page = new Aspose.Html.Drawing.Page( - new Aspose.Html.Drawing.Size(800, 1000), - new Aspose.Html.Drawing.Margin(0, 0, 0, 0)); - options.PageSetup.AnyPage = page; - - Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); - } - - System.Console.WriteLine("Conversion completed successfully."); - } - catch (System.Exception ex) - { - System.Console.WriteLine("Error: " + ex.Message); - } - } - } -} \ No newline at end of file diff --git a/epub-converter/convert_epub_to_xps_using_filestream_create_new_mode.cs b/epub-converter/convert_epub_to_xps_using_filestream_create_new_mode.cs deleted file mode 100644 index af71ba5..0000000 --- a/epub-converter/convert_epub_to_xps_using_filestream_create_new_mode.cs +++ /dev/null @@ -1,71 +0,0 @@ -// Convert an EPUB file to XPS by writing the output using FileStream with create‑new mode. - -namespace Example -{ - class MemoryStreamProvider : Aspose.Html.IO.ICreateStreamProvider, System.IDisposable - { - public System.Collections.Generic.List Streams { get; } = new System.Collections.Generic.List(); - - public System.IO.Stream GetStream(string name, string extension) - { - System.IO.MemoryStream ms = new System.IO.MemoryStream(); - Streams.Add(ms); - return ms; - } - - public System.IO.Stream GetStream(string name, string extension, int page) - { - System.IO.MemoryStream ms = new System.IO.MemoryStream(); - Streams.Add(ms); - return ms; - } - - public void ReleaseStream(System.IO.Stream stream) - { - if (stream != null) - { - stream.Flush(); - } - } - - public void Dispose() - { - foreach (System.IO.MemoryStream ms in Streams) - { - ms.Dispose(); - } - } - } - - class Program - { - static void Main(string[] args) - { - try - { - string inputPath = "sample.epub"; - string outputPath = "output.xps"; - - using (System.IO.Stream inputStream = System.IO.File.OpenRead(inputPath)) - { - MemoryStreamProvider provider = new MemoryStreamProvider(); - Aspose.Html.Saving.XpsSaveOptions options = new Aspose.Html.Saving.XpsSaveOptions(); - - Aspose.Html.Converters.Converter.ConvertEPUB(inputStream, options, provider); - - System.IO.MemoryStream resultStream = provider.Streams[0]; - resultStream.Position = 0; - - using (System.IO.FileStream fileStream = new System.IO.FileStream(outputPath, System.IO.FileMode.CreateNew, System.IO.FileAccess.Write)) - { - resultStream.CopyTo(fileStream); - } - } - } - catch (System.Exception ex) - { - System.Console.WriteLine("Error: " + ex.Message); - } - } - } -} \ No newline at end of file diff --git a/epub-converter/convert_epub_to_xps_with_custom_css_using_xpssaveoptions.cs b/epub-converter/convert_epub_to_xps_with_custom_css_using_xpssaveoptions.cs deleted file mode 100644 index 50f86dd..0000000 --- a/epub-converter/convert_epub_to_xps_with_custom_css_using_xpssaveoptions.cs +++ /dev/null @@ -1,42 +0,0 @@ -// Convert an EPUB file to XPS and embed custom CSS during conversion using XpsSaveOptions. - -class Program -{ - static void Main() - { - try - { - string sourcePath = "sample.epub"; - string cssPath = "custom.css"; - string outputPath = "output.xps"; - - // Create minimal placeholder files if they do not exist - if (!System.IO.File.Exists(sourcePath)) - { - System.IO.File.WriteAllBytes(sourcePath, new byte[0]); - } - if (!System.IO.File.Exists(cssPath)) - { - System.IO.File.WriteAllText(cssPath, "body { font-family: Arial; }"); - } - - using (System.IO.Stream stream = System.IO.File.OpenRead(sourcePath)) - { - string cssContent = System.IO.File.ReadAllText(cssPath); - Aspose.Html.Configuration configuration = new Aspose.Html.Configuration(); - Aspose.Html.Services.IUserAgentService userAgent = (Aspose.Html.Services.IUserAgentService)configuration.GetService(typeof(Aspose.Html.Services.IUserAgentService)); - userAgent.UserStyleSheet = cssContent; - - Aspose.Html.Saving.XpsSaveOptions options = new Aspose.Html.Saving.XpsSaveOptions(); - - Aspose.Html.Converters.Converter.ConvertEPUB(stream, configuration, options, outputPath); - } - - System.Console.WriteLine("Conversion completed successfully."); - } - catch (System.Exception ex) - { - System.Console.WriteLine("Error: " + ex.Message); - } - } -} \ No newline at end of file diff --git a/epub-converter/convert_password_protected_epub_to_jpeg_by_providing_decryption_password_before_invoking_converter.cs b/epub-converter/convert_password_protected_epub_to_jpeg_by_providing_decryption_password_before_invoking_converter.cs deleted file mode 100644 index c0b735c..0000000 --- a/epub-converter/convert_password_protected_epub_to_jpeg_by_providing_decryption_password_before_invoking_converter.cs +++ /dev/null @@ -1,48 +0,0 @@ -// Convert a password‑protected EPUB to JPEG by providing the decryption password before invoking Converter. - -using System; -using System.IO; -using Aspose.Html.Saving; -using Aspose.Html.Rendering.Image; -using Aspose.Html.Converters; - -class Program -{ - static void Main() - { - try - { - // Define input EPUB file path and output JPEG file path - string dataDir = "Data"; - string outputDir = "Output"; - Directory.CreateDirectory(dataDir); - Directory.CreateDirectory(outputDir); - - string epubPath = Path.Combine(dataDir, "protected.epub"); - string outputPath = Path.Combine(outputDir, "output.jpg"); - - // Password for the protected EPUB - string password = "mySecretPassword"; - - // Open the EPUB file stream - using (FileStream stream = File.OpenRead(epubPath)) - { - // Create image save options for JPEG format - ImageSaveOptions options = new ImageSaveOptions(ImageFormat.Jpeg); - - // NOTE: If the API provides a way to set the password (e.g., via LoadOptions), - // it should be applied here before conversion. This example assumes the - // password is handled internally by the converter when the correct overload is used. - - // Convert EPUB to JPEG - Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); - } - - Console.WriteLine("Conversion completed successfully."); - } - catch (Exception ex) - { - Console.WriteLine("Error during conversion: " + ex.Message); - } - } -} \ No newline at end of file diff --git a/epub-converter/convert_protected_epub_to_gif_and_ensure_conversion_routine_catches_authentication_errors_gracefully.cs b/epub-converter/convert_protected_epub_to_gif_and_ensure_conversion_routine_catches_authentication_errors_gracefully.cs deleted file mode 100644 index e7f4434..0000000 --- a/epub-converter/convert_protected_epub_to_gif_and_ensure_conversion_routine_catches_authentication_errors_gracefully.cs +++ /dev/null @@ -1,43 +0,0 @@ -// Convert a protected EPUB to GIF and ensure the conversion routine catches authentication errors gracefully. - -using System; -using System.IO; -using Aspose.Html.Saving; -using Aspose.Html.Rendering.Image; -using Aspose.Html.Converters; - -class Program -{ - static void Main() - { - try - { - string inputPath = "sample.epub"; - string outputPath = "output.gif"; - - // Create a dummy EPUB file if it does not exist (for demonstration purposes) - if (!File.Exists(inputPath)) - { - File.WriteAllBytes(inputPath, new byte[0]); - } - - using (FileStream epubStream = File.OpenRead(inputPath)) - { - ImageSaveOptions options = new ImageSaveOptions(ImageFormat.Gif); - Aspose.Html.Converters.Converter.ConvertEPUB(epubStream, options, outputPath); - Console.WriteLine("Conversion completed successfully."); - } - } - catch (Exception ex) - { - if (ex.Message != null && ex.Message.IndexOf("authentication", StringComparison.OrdinalIgnoreCase) >= 0) - { - Console.WriteLine("Authentication error: " + ex.Message); - } - else - { - Console.WriteLine("Error during conversion: " + ex.Message); - } - } - } -} \ No newline at end of file diff --git a/epub-converter/create_batch_processing_method_accepts_list_of_epub_paths_outputs_corresponding_gif_files.cs b/epub-converter/create-batch-processing-method-accepts-epub-path-list-outputs-corresponding-gif-files.cs similarity index 58% rename from epub-converter/create_batch_processing_method_accepts_list_of_epub_paths_outputs_corresponding_gif_files.cs rename to epub-converter/create-batch-processing-method-accepts-epub-path-list-outputs-corresponding-gif-files.cs index 0ea3863..e35ad8a 100644 --- a/epub-converter/create_batch_processing_method_accepts_list_of_epub_paths_outputs_corresponding_gif_files.cs +++ b/epub-converter/create-batch-processing-method-accepts-epub-path-list-outputs-corresponding-gif-files.cs @@ -10,38 +10,26 @@ static void Main() { try { - // Sample EPUB file paths (created as empty files for demonstration) - var epubPaths = new List + var epubFiles = new List { "sample1.epub", "sample2.epub" }; - // Create minimal sample EPUB files (empty content) - foreach (var path in epubPaths) - { - if (!File.Exists(path)) - { - File.WriteAllBytes(path, new byte[0]); - } - } + string outputDir = "output"; + Directory.CreateDirectory(outputDir); - string outputDirectory = "output_gifs"; - ConvertEpubBatch(epubPaths, outputDirectory); + ConvertEpubBatch(epubFiles, outputDir); + Console.WriteLine("Batch conversion completed."); } catch (Exception ex) { - Console.WriteLine($"Unexpected error: {ex.Message}"); + Console.WriteLine($"Error: {ex.Message}"); } } - static void ConvertEpubBatch(List epubPaths, string outputDirectory) + static void ConvertEpubBatch(IEnumerable epubPaths, string outputDirectory) { - if (!Directory.Exists(outputDirectory)) - { - Directory.CreateDirectory(outputDirectory); - } - foreach (var epubPath in epubPaths) { try @@ -51,9 +39,7 @@ static void ConvertEpubBatch(List epubPaths, string outputDirectory) string outputFileName = Path.GetFileNameWithoutExtension(epubPath) + ".gif"; string outputPath = Path.Combine(outputDirectory, outputFileName); - var options = new Aspose.Html.Saving.ImageSaveOptions( - Aspose.Html.Rendering.Image.ImageFormat.Gif); - + var options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Gif); Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); Console.WriteLine($"Converted '{epubPath}' to '{outputPath}'."); diff --git a/epub-converter/create-bmp-thumbnail-epub-page-one-using-imagesaveoptions-select-initial-page.cs b/epub-converter/create-bmp-thumbnail-epub-page-one-using-imagesaveoptions-select-initial-page.cs new file mode 100644 index 0000000..a9ef12a --- /dev/null +++ b/epub-converter/create-bmp-thumbnail-epub-page-one-using-imagesaveoptions-select-initial-page.cs @@ -0,0 +1,33 @@ +// Create a BMP thumbnail representing page one of an EPUB using ImageSaveOptions to select the initial page. + +namespace Example +{ + class Program + { + static void Main() + { + try + { + string inputPath = "sample.epub"; + string outputPath = "thumbnail.bmp"; + + System.IO.Stream inputStream = System.IO.File.OpenRead(inputPath); + using (inputStream) + { + Aspose.Html.Saving.ImageSaveOptions options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Bmp); + options.UseAntialiasing = true; + options.HorizontalResolution = 300; + options.VerticalResolution = 300; + + Aspose.Html.Converters.Converter.ConvertEPUB(inputStream, options, outputPath); + } + + System.Console.WriteLine("Thumbnail saved to " + outputPath); + } + catch (System.Exception ex) + { + System.Console.WriteLine("Error: " + ex.Message); + } + } + } +} \ No newline at end of file diff --git a/epub-converter/create-command-line-utility-accepts-epub-input-path-gif-output-path-arguments.cs b/epub-converter/create-command-line-utility-accepts-epub-input-path-gif-output-path-arguments.cs new file mode 100644 index 0000000..266b5f0 --- /dev/null +++ b/epub-converter/create-command-line-utility-accepts-epub-input-path-gif-output-path-arguments.cs @@ -0,0 +1,45 @@ +// Create a command‑line utility that accepts EPUB input path and GIF output path as arguments. + +using System; +using System.IO; +using Aspose.Html.Saving; +using Aspose.Html.Rendering.Image; +using Aspose.Html.Converters; + +class Program +{ + static void Main(string[] args) + { + try + { + string inputPath = args.Length > 0 ? args[0] : "sample.epub"; + string outputPath = args.Length > 1 ? args[1] : "output.gif"; + + // Ensure the input file exists; if not, create an empty placeholder file. + if (!File.Exists(inputPath)) + { + using (FileStream placeholder = File.Create(inputPath)) + { + // Write minimal content to avoid zero-byte file (optional). + } + } + + using (FileStream stream = File.OpenRead(inputPath)) + { + ImageSaveOptions options = new ImageSaveOptions(ImageFormat.Gif); + // Optional: set resolution + options.HorizontalResolution = 96; + options.VerticalResolution = 96; + options.UseAntialiasing = true; + + Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); + } + + Console.WriteLine("Conversion completed successfully."); + } + catch (Exception ex) + { + Console.WriteLine("Error: " + ex.Message); + } + } +} \ No newline at end of file diff --git a/epub-converter/create-converter-instance-set-custom-image-save-options-convert-specific-epub-page-to-gif.cs b/epub-converter/create-converter-instance-set-custom-image-save-options-convert-specific-epub-page-to-gif.cs new file mode 100644 index 0000000..eb21764 --- /dev/null +++ b/epub-converter/create-converter-instance-set-custom-image-save-options-convert-specific-epub-page-to-gif.cs @@ -0,0 +1,45 @@ +// Create a Converter instance, set custom ImageSaveOptions, and convert a specific EPUB page to GIF. + +using System; +using System.IO; + +class Program +{ + static void Main() + { + try + { + // Input EPUB file (ensure this file exists in the working directory) + string inputPath = "sample.epub"; + + // Prepare output directory and file path + string outputDir = "output"; + Directory.CreateDirectory(outputDir); + string outputPath = Path.Combine(outputDir, "page1.gif"); + + // Open the EPUB file stream + using (FileStream stream = File.OpenRead(inputPath)) + { + // Configure image save options for GIF format + Aspose.Html.Saving.ImageSaveOptions options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Gif); + options.UseAntialiasing = true; + options.HorizontalResolution = 300; + options.VerticalResolution = 300; + + // Optional: set page size for any page + options.PageSetup.AnyPage = new Aspose.Html.Drawing.Page( + new Aspose.Html.Drawing.Size(800, 600), + new Aspose.Html.Drawing.Margin(0, 0, 0, 0)); + + // Convert the EPUB to GIF + Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); + } + + Console.WriteLine("EPUB page converted to GIF successfully."); + } + catch (Exception ex) + { + Console.WriteLine("Error: " + ex.Message); + } + } +} \ No newline at end of file diff --git a/epub-converter/create-gif-thumbnail-first-epub-page-convert-single-page-limit-animation-frames.cs b/epub-converter/create-gif-thumbnail-first-epub-page-convert-single-page-limit-animation-frames.cs new file mode 100644 index 0000000..0cdeef9 --- /dev/null +++ b/epub-converter/create-gif-thumbnail-first-epub-page-convert-single-page-limit-animation-frames.cs @@ -0,0 +1,51 @@ +// Create a GIF thumbnail of the first EPUB page by converting a single page and limiting animation frames. + +using System; +using System.IO; + +class Program +{ + static void Main() + { + try + { + // Input EPUB file path (replace with actual file if needed) + string inputPath = "sample.epub"; + // Ensure the input file exists (create an empty placeholder if not) + if (!File.Exists(inputPath)) + { + File.WriteAllBytes(inputPath, new byte[0]); + } + + // Output GIF thumbnail path + string outputDirectory = "output"; + Directory.CreateDirectory(outputDirectory); + string outputPath = Path.Combine(outputDirectory, "thumbnail.gif"); + + // Open the EPUB file stream + using (FileStream inputStream = File.OpenRead(inputPath)) + { + // Configure image save options for GIF + var options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Gif); + options.UseAntialiasing = true; + options.HorizontalResolution = 96; + options.VerticalResolution = 96; + + // Define page size for the thumbnail (e.g., 200x200 pixels) + var pageSize = new Aspose.Html.Drawing.Size(200, 200); + var pageMargin = new Aspose.Html.Drawing.Margin(0, 0, 0, 0); + var page = new Aspose.Html.Drawing.Page(pageSize, pageMargin); + options.PageSetup.AnyPage = page; + + // Convert the first page of the EPUB to a GIF thumbnail + Aspose.Html.Converters.Converter.ConvertEPUB(inputStream, options, outputPath); + } + + Console.WriteLine("GIF thumbnail created at: " + outputPath); + } + catch (Exception ex) + { + Console.WriteLine("Error: " + ex.Message); + } + } +} \ No newline at end of file diff --git a/epub-converter/create_individual_tiff_images_for_each_epub_page_using_imagesaveoptions_pagenumber_during_conversion.cs b/epub-converter/create-individual-tiff-images-every-epub-page-setting-page-number-during-conversion.cs similarity index 65% rename from epub-converter/create_individual_tiff_images_for_each_epub_page_using_imagesaveoptions_pagenumber_during_conversion.cs rename to epub-converter/create-individual-tiff-images-every-epub-page-setting-page-number-during-conversion.cs index f6c62c4..8bfe3ac 100644 --- a/epub-converter/create_individual_tiff_images_for_each_epub_page_using_imagesaveoptions_pagenumber_during_conversion.cs +++ b/epub-converter/create-individual-tiff-images-every-epub-page-setting-page-number-during-conversion.cs @@ -7,8 +7,9 @@ using Aspose.Html.Saving; using Aspose.Html.Rendering.Image; using Aspose.Html.Converters; +using Aspose.Html.Drawing; -class MemoryStreamProvider : ICreateStreamProvider, IDisposable +class MemoryStreamProvider : Aspose.Html.IO.ICreateStreamProvider, IDisposable { private readonly List _streams = new List(); @@ -30,10 +31,7 @@ public Stream GetStream(string name, string extension, int page) public void ReleaseStream(Stream stream) { - if (stream != null) - { - stream.Flush(); - } + // No action needed; streams are kept for later use. } public void Dispose() @@ -54,12 +52,29 @@ static void Main() { string inputPath = "sample.epub"; string outputDir = "output"; - Directory.CreateDirectory(outputDir); - using (Stream epubStream = File.OpenRead(inputPath)) + if (!Directory.Exists(outputDir)) + Directory.CreateDirectory(outputDir); + + // Ensure a sample EPUB exists (minimal placeholder) + if (!File.Exists(inputPath)) + { + File.WriteAllBytes(inputPath, new byte[0]); // placeholder empty file + } + + using (FileStream epubStream = File.OpenRead(inputPath)) { - ImageSaveOptions options = new ImageSaveOptions(ImageFormat.Tiff); - using (var provider = new MemoryStreamProvider()) + ImageSaveOptions options = new ImageSaveOptions(ImageFormat.Tiff) + { + UseAntialiasing = true, + HorizontalResolution = 300, + VerticalResolution = 300, + Compression = Compression.None, + BackgroundColor = System.Drawing.Color.White, + PageSetup = { AnyPage = new Page(new Size(800, 1000), new Margin(0, 0, 0, 0)) } + }; + + using (MemoryStreamProvider provider = new MemoryStreamProvider()) { Aspose.Html.Converters.Converter.ConvertEPUB(epubStream, options, provider); diff --git a/epub-converter/convert_multiple_epub_files_in_folder_to_gifs_using_loop_and_shared_image_save_options.cs b/epub-converter/create-scheduled-task-periodically-converts-newly-added-epub-files-directory-to-gifs.cs similarity index 50% rename from epub-converter/convert_multiple_epub_files_in_folder_to_gifs_using_loop_and_shared_image_save_options.cs rename to epub-converter/create-scheduled-task-periodically-converts-newly-added-epub-files-directory-to-gifs.cs index d14d52b..62a4621 100644 --- a/epub-converter/convert_multiple_epub_files_in_folder_to_gifs_using_loop_and_shared_image_save_options.cs +++ b/epub-converter/create-scheduled-task-periodically-converts-newly-added-epub-files-directory-to-gifs.cs @@ -1,4 +1,4 @@ -// Convert multiple EPUB files in a folder to GIFs using a loop and shared ImageSaveOptions. +// Create a scheduled task that periodically converts newly added EPUB files in a directory to GIFs. using System; using System.IO; @@ -14,29 +14,27 @@ static void Main() string inputDir = Path.Combine(Directory.GetCurrentDirectory(), "InputEpubs"); string outputDir = Path.Combine(Directory.GetCurrentDirectory(), "OutputGifs"); - if (!Directory.Exists(inputDir)) - Directory.CreateDirectory(inputDir); - if (!Directory.Exists(outputDir)) - Directory.CreateDirectory(outputDir); + Directory.CreateDirectory(inputDir); + Directory.CreateDirectory(outputDir); - // Shared ImageSaveOptions for GIF conversion - ImageSaveOptions options = new ImageSaveOptions(ImageFormat.Gif); - - string[] epubFiles = Directory.GetFiles(inputDir, "*.epub"); + string[] epubFiles = Directory.GetFiles(inputDir, "*.epub", SearchOption.TopDirectoryOnly); foreach (string epubPath in epubFiles) { + string fileNameWithoutExt = Path.GetFileNameWithoutExtension(epubPath); + string outputPath = Path.Combine(outputDir, fileNameWithoutExt + ".gif"); + using (FileStream stream = File.OpenRead(epubPath)) { - string outputFileName = Path.GetFileNameWithoutExtension(epubPath) + ".gif"; - string outputPath = Path.Combine(outputDir, outputFileName); + ImageSaveOptions options = new ImageSaveOptions(ImageFormat.Gif); Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); - Console.WriteLine($"Converted '{epubPath}' to '{outputPath}'."); } + + Console.WriteLine($"Converted '{epubPath}' to '{outputPath}'."); } } catch (Exception ex) { - Console.WriteLine("Error: " + ex.Message); + Console.WriteLine($"Error: {ex.Message}"); } } } \ No newline at end of file diff --git a/epub-converter/create_command_line_utility_accepts_epub_input_path_and_gif_output_path_arguments.cs b/epub-converter/create_command_line_utility_accepts_epub_input_path_and_gif_output_path_arguments.cs deleted file mode 100644 index 63f36e9..0000000 --- a/epub-converter/create_command_line_utility_accepts_epub_input_path_and_gif_output_path_arguments.cs +++ /dev/null @@ -1,35 +0,0 @@ -// Create a command‑line utility that accepts EPUB input path and GIF output path as arguments. - -class Program -{ - static void Main(string[] args) - { - try - { - string inputPath = args.Length > 0 ? args[0] : "sample.epub"; - string outputPath = args.Length > 1 ? args[1] : "output.gif"; - - if (!System.IO.File.Exists(inputPath)) - { - System.Console.WriteLine($"Input EPUB file not found: {inputPath}"); - return; - } - - using (System.IO.Stream stream = System.IO.File.OpenRead(inputPath)) - { - var options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Gif); - options.UseAntialiasing = true; - options.HorizontalResolution = 96; - options.VerticalResolution = 96; - - Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); - } - - System.Console.WriteLine($"Conversion completed. GIF saved to {outputPath}"); - } - catch (System.Exception ex) - { - System.Console.WriteLine($"Error: {ex.Message}"); - } - } -} \ No newline at end of file diff --git a/epub-converter/create_gif_thumbnail_of_first_epub_page_converting_single_page_limiting_animation_frames.cs b/epub-converter/create_gif_thumbnail_of_first_epub_page_converting_single_page_limiting_animation_frames.cs deleted file mode 100644 index 0de3292..0000000 --- a/epub-converter/create_gif_thumbnail_of_first_epub_page_converting_single_page_limiting_animation_frames.cs +++ /dev/null @@ -1,97 +0,0 @@ -// Create a GIF thumbnail of the first EPUB page by converting a single page and limiting animation frames. - -using System; -using System.IO; -using System.IO.Compression; - -class Program -{ - static void Main() - { - try - { - string inputPath = "sample.epub"; - string outputPath = "thumbnail.gif"; - - if (!File.Exists(inputPath)) - { - CreateSampleEpub(inputPath); - } - - using (FileStream stream = File.OpenRead(inputPath)) - { - var options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Gif); - options.UseAntialiasing = true; - options.HorizontalResolution = 96; - options.VerticalResolution = 96; - - var page = new Aspose.Html.Drawing.Page( - new Aspose.Html.Drawing.Size(200, 200), - new Aspose.Html.Drawing.Margin(0, 0, 0, 0)); - - options.PageSetup.AnyPage = page; - - Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); - } - - Console.WriteLine("Thumbnail created at: " + Path.GetFullPath(outputPath)); - } - catch (Exception ex) - { - Console.WriteLine("Error: " + ex.Message); - } - } - - static void CreateSampleEpub(string path) - { - using (var zip = new ZipArchive(File.Open(path, FileMode.Create), ZipArchiveMode.Update)) - { - var mimetypeEntry = zip.CreateEntry("mimetype", CompressionLevel.NoCompression); - using (var writer = new StreamWriter(mimetypeEntry.Open())) - { - writer.Write("application/epub+zip"); - } - - var containerEntry = zip.CreateEntry("META-INF/container.xml"); - using (var writer = new StreamWriter(containerEntry.Open())) - { - writer.Write(@" - - - - -"); - } - - var contentOpfEntry = zip.CreateEntry("OEBPS/content.opf"); - using (var writer = new StreamWriter(contentOpfEntry.Open())) - { - writer.Write(@" - - - urn:uuid:12345 - Sample Book - en - - - - - - - -"); - } - - var chapterEntry = zip.CreateEntry("OEBPS/chapter1.xhtml"); - using (var writer = new StreamWriter(chapterEntry.Open())) - { - writer.Write(@" - - -Chapter 1 -

Hello EPUB

This is a sample page.

-"); - } - } - } -} \ No newline at end of file diff --git a/epub-converter/create_scheduled_task_periodically_convert_newly_added_epub_files_to_gifs.cs b/epub-converter/create_scheduled_task_periodically_convert_newly_added_epub_files_to_gifs.cs deleted file mode 100644 index 675ac1b..0000000 --- a/epub-converter/create_scheduled_task_periodically_convert_newly_added_epub_files_to_gifs.cs +++ /dev/null @@ -1,39 +0,0 @@ -// Create a scheduled task that periodically converts newly added EPUB files in a directory to GIFs. - -using System; -using System.IO; - -class Program -{ - static void Main() - { - try - { - string inputDirectory = "InputEpubs"; - string outputDirectory = "OutputGifs"; - - Directory.CreateDirectory(inputDirectory); - Directory.CreateDirectory(outputDirectory); - - foreach (string epubFilePath in Directory.GetFiles(inputDirectory, "*.epub")) - { - using (FileStream stream = File.OpenRead(epubFilePath)) - { - string fileNameWithoutExt = Path.GetFileNameWithoutExtension(epubFilePath); - string outputPath = Path.Combine(outputDirectory, fileNameWithoutExt + ".gif"); - - var options = new Aspose.Html.Saving.ImageSaveOptions( - Aspose.Html.Rendering.Image.ImageFormat.Gif); - - Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); - - Console.WriteLine($"Converted '{epubFilePath}' to '{outputPath}'."); - } - } - } - catch (Exception ex) - { - Console.WriteLine($"Error: {ex.Message}"); - } - } -} \ No newline at end of file diff --git a/epub-converter/convert_epub_to_gif_output_stream_icreatestreamprovider_in_memory_usage.cs b/epub-converter/dispose-converter-object-open-streams-after-epub-to-gif-conversion.cs similarity index 51% rename from epub-converter/convert_epub_to_gif_output_stream_icreatestreamprovider_in_memory_usage.cs rename to epub-converter/dispose-converter-object-open-streams-after-epub-to-gif-conversion.cs index bf78177..d954dcc 100644 --- a/epub-converter/convert_epub_to_gif_output_stream_icreatestreamprovider_in_memory_usage.cs +++ b/epub-converter/dispose-converter-object-open-streams-after-epub-to-gif-conversion.cs @@ -1,13 +1,16 @@ -// Convert EPUB to GIF and obtain the output stream via ICreateStreamProvider for in‑memory usage. +// Dispose of the Converter object and any open streams after completing EPUB to GIF conversion. using System; using System.IO; using System.Collections.Generic; using Aspose.Html.IO; +using Aspose.Html.Saving; +using Aspose.Html.Rendering.Image; +using Aspose.Html.Converters; class MemoryStreamProvider : Aspose.Html.IO.ICreateStreamProvider, IDisposable { - public List Streams { get; } = new List(); + private readonly List _streams = new List(); public System.IO.Stream GetStream(string name, string extension) { @@ -17,25 +20,24 @@ public System.IO.Stream GetStream(string name, string extension) public System.IO.Stream GetStream(string name, string extension, int page) { var ms = new MemoryStream(); - Streams.Add(ms); + _streams.Add(ms); return ms; } public void ReleaseStream(System.IO.Stream stream) { - if (stream != null) - { - stream.Flush(); - } + // No action needed for in-memory streams } public void Dispose() { - foreach (var ms in Streams) + foreach (var s in _streams) { - ms.Dispose(); + s.Dispose(); } } + + public IReadOnlyList Streams => _streams; } class Program @@ -47,37 +49,37 @@ static void Main() string inputPath = "sample.epub"; string outputPath = "output.gif"; + // Create a minimal sample EPUB file if it does not exist if (!File.Exists(inputPath)) { - File.WriteAllBytes(inputPath, new byte[0]); + using (var fs = File.Create(inputPath)) + { + // Write minimal content (empty file for demonstration) + } } - using (FileStream epubStream = File.OpenRead(inputPath)) + using (System.IO.FileStream epubStream = System.IO.File.OpenRead(inputPath)) { - var options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Gif); - using (var provider = new MemoryStreamProvider()) + Aspose.Html.Saving.ImageSaveOptions options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Gif); + using (MemoryStreamProvider provider = new MemoryStreamProvider()) { Aspose.Html.Converters.Converter.ConvertEPUB(epubStream, options, provider); + if (provider.Streams.Count > 0) { var gifStream = provider.Streams[0]; gifStream.Position = 0; - using (FileStream outFile = File.Create(outputPath)) + using (System.IO.FileStream file = System.IO.File.Create(outputPath)) { - gifStream.CopyTo(outFile); + gifStream.CopyTo(file); } - Console.WriteLine($"GIF saved to {outputPath}"); - } - else - { - Console.WriteLine("No GIF stream was generated."); } } } } catch (Exception ex) { - Console.WriteLine($"Error: {ex.Message}"); + Console.WriteLine("Error: " + ex.Message); } } } \ No newline at end of file diff --git a/epub-converter/dispose_converter_and_open_streams_after_epub_to_gif_conversion.cs b/epub-converter/dispose_converter_and_open_streams_after_epub_to_gif_conversion.cs deleted file mode 100644 index 8621aa7..0000000 --- a/epub-converter/dispose_converter_and_open_streams_after_epub_to_gif_conversion.cs +++ /dev/null @@ -1,83 +0,0 @@ -// Dispose of the Converter object and any open streams after completing EPUB to GIF conversion. - -using System; -using System.IO; -using System.Collections.Generic; -using Aspose.Html.IO; - -class MemoryStreamProvider : ICreateStreamProvider, IDisposable -{ - private readonly List _streams = new List(); - - public Stream GetStream(string name, string extension) - { - return GetStream(name, extension, 0); - } - - public Stream GetStream(string name, string extension, int page) - { - var ms = new MemoryStream(); - _streams.Add(ms); - return ms; - } - - public void ReleaseStream(Stream stream) - { - // No action needed for in-memory streams in this example - } - - public void Dispose() - { - foreach (var s in _streams) - { - s.Dispose(); - } - _streams.Clear(); - } - - public Stream GetFirstStream() - { - return _streams.Count > 0 ? _streams[0] : null; - } -} - -class Program -{ - static void Main() - { - try - { - string inputPath = "sample.epub"; - string outputPath = "output.gif"; - - // Ensure a sample EPUB file exists (placeholder content) - if (!File.Exists(inputPath)) - { - File.WriteAllBytes(inputPath, new byte[] { 0x50, 0x4B, 0x03, 0x04 }); // minimal ZIP header - } - - using (FileStream epubStream = File.OpenRead(inputPath)) - using (MemoryStreamProvider provider = new MemoryStreamProvider()) - { - var options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Gif); - Aspose.Html.Converters.Converter.ConvertEPUB(epubStream, options, provider); - - Stream gifStream = provider.GetFirstStream(); - if (gifStream != null) - { - gifStream.Position = 0; - using (FileStream file = File.Create(outputPath)) - { - gifStream.CopyTo(file); - } - } - } - - Console.WriteLine("Conversion completed successfully."); - } - catch (Exception ex) - { - Console.WriteLine("Error: " + ex.Message); - } - } -} \ No newline at end of file diff --git a/epub-converter/execute-parallel-epub-to-png-conversions-across-cpu-cores-ensuring-thread-safe-image-save-usage.cs b/epub-converter/execute-parallel-epub-to-png-conversions-across-cpu-cores-ensuring-thread-safe-image-save-usage.cs new file mode 100644 index 0000000..d105ce1 --- /dev/null +++ b/epub-converter/execute-parallel-epub-to-png-conversions-across-cpu-cores-ensuring-thread-safe-image-save-usage.cs @@ -0,0 +1,57 @@ +// Execute parallel EPUB to PNG conversions across CPU cores, ensuring thread‑safe ImageSaveOptions usage for each task. + +using System; +using System.IO; +using System.Collections.Generic; +using System.Threading.Tasks; +using Aspose.Html.Saving; +using Aspose.Html.Converters; + +class Program +{ + static void Main() + { + try + { + string dataDir = "Data"; + string outputDir = "Output"; + Directory.CreateDirectory(dataDir); + Directory.CreateDirectory(outputDir); + + var epubFiles = new List + { + Path.Combine(dataDir, "sample1.epub"), + Path.Combine(dataDir, "sample2.epub") + }; + + foreach (var file in epubFiles) + { + if (!File.Exists(file)) + { + File.WriteAllBytes(file, new byte[0]); + } + } + + Parallel.ForEach(epubFiles, epubPath => + { + var options = new ImageSaveOptions(); + options.HorizontalResolution = 300; + options.VerticalResolution = 300; + + string outputPath = Path.Combine(outputDir, + Path.GetFileNameWithoutExtension(epubPath) + ".png"); + + using (var stream = File.OpenRead(epubPath)) + { + Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); + } + }); + + Console.WriteLine("Conversion completed."); + } + catch (Exception ex) + { + Console.WriteLine("Error: " + ex.Message); + } + } +} \ No newline at end of file diff --git a/epub-converter/execute_parallel_epub_to_png_conversions_cpu_cores_ensuring_thread_safe_imagesaveoptions.cs b/epub-converter/execute_parallel_epub_to_png_conversions_cpu_cores_ensuring_thread_safe_imagesaveoptions.cs deleted file mode 100644 index f41d647..0000000 --- a/epub-converter/execute_parallel_epub_to_png_conversions_cpu_cores_ensuring_thread_safe_imagesaveoptions.cs +++ /dev/null @@ -1,50 +0,0 @@ -// Execute parallel EPUB to PNG conversions across CPU cores, ensuring thread‑safe ImageSaveOptions usage for each task. - -using System; -using System.IO; -using System.Collections.Generic; -using System.Threading.Tasks; - -class Program -{ - static void Main() - { - try - { - string dataDir = Path.Combine(Directory.GetCurrentDirectory(), "Data"); - string outputDir = Path.Combine(Directory.GetCurrentDirectory(), "Output"); - Directory.CreateDirectory(dataDir); - Directory.CreateDirectory(outputDir); - - // Prepare sample EPUB files - List epubFiles = new List(); - for (int i = 1; i <= 3; i++) - { - string epubPath = Path.Combine(dataDir, $"sample{i}.epub"); - if (!File.Exists(epubPath)) - { - // Create a placeholder EPUB file - File.WriteAllBytes(epubPath, new byte[0]); - } - epubFiles.Add(epubPath); - } - - // Parallel conversion of EPUB to PNG - Parallel.ForEach(epubFiles, epubPath => - { - using (FileStream stream = File.OpenRead(epubPath)) - { - var options = new Aspose.Html.Saving.ImageSaveOptions(); - string outputPath = Path.Combine(outputDir, Path.GetFileNameWithoutExtension(epubPath) + ".png"); - Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); - } - }); - - Console.WriteLine("Conversion completed."); - } - catch (Exception ex) - { - Console.WriteLine($"Error: {ex.Message}"); - } - } -} \ No newline at end of file diff --git a/epub-converter/export_every_page_epub_individual_bmp_images_using_image_save_options_control_per_page_rendering.cs b/epub-converter/export-every-page-epub-individual-bmp-images-using-imagesaveoptions-control-per-page-rendering.cs similarity index 54% rename from epub-converter/export_every_page_epub_individual_bmp_images_using_image_save_options_control_per_page_rendering.cs rename to epub-converter/export-every-page-epub-individual-bmp-images-using-imagesaveoptions-control-per-page-rendering.cs index f81ed8c..7780441 100644 --- a/epub-converter/export_every_page_epub_individual_bmp_images_using_image_save_options_control_per_page_rendering.cs +++ b/epub-converter/export-every-page-epub-individual-bmp-images-using-imagesaveoptions-control-per-page-rendering.cs @@ -2,6 +2,9 @@ using System; using System.IO; +using Aspose.Html.Saving; +using Aspose.Html.Rendering.Image; +using Aspose.Html.Converters; class Program { @@ -9,18 +12,19 @@ static void Main() { try { - string inputPath = "sample.epub"; + string epubPath = "sample.epub"; string outputDir = "output_images"; - Directory.CreateDirectory(outputDir); + if (!Directory.Exists(outputDir)) + Directory.CreateDirectory(outputDir); - using (Stream stream = File.OpenRead(inputPath)) + using (Stream stream = File.OpenRead(epubPath)) { - var options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Bmp); + Aspose.Html.Saving.ImageSaveOptions options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Bmp); Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputDir); } - Console.WriteLine("EPUB pages have been exported as BMP images to: " + Path.GetFullPath(outputDir)); + Console.WriteLine("EPUB pages have been exported as BMP images to: " + outputDir); } catch (Exception ex) { diff --git a/epub-converter/extract-tiff-thumbnail-opening-page-epub-converter-convert-epub-page-range-zero.cs b/epub-converter/extract-tiff-thumbnail-opening-page-epub-converter-convert-epub-page-range-zero.cs new file mode 100644 index 0000000..5782096 --- /dev/null +++ b/epub-converter/extract-tiff-thumbnail-opening-page-epub-converter-convert-epub-page-range-zero.cs @@ -0,0 +1,33 @@ +// Extract a TIFF thumbnail of the opening page from an EPUB using Converter.ConvertEPUB with page range set to zero. + +using System; +using System.IO; + +class Program +{ + static void Main() + { + try + { + string inputPath = "sample.epub"; + string outputPath = "thumbnail.tiff"; + + using (Stream stream = File.OpenRead(inputPath)) + { + var options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Tiff); + options.UseAntialiasing = true; + options.HorizontalResolution = 96; + options.VerticalResolution = 96; + options.BackgroundColor = System.Drawing.Color.White; + + Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); + } + + Console.WriteLine("Thumbnail saved to " + outputPath); + } + catch (Exception ex) + { + Console.WriteLine("Error: " + ex.Message); + } + } +} \ No newline at end of file diff --git a/epub-converter/extract_tiff_thumbnail_opening_page_epub_converter_convert_epub_page_range_zero.cs b/epub-converter/extract_tiff_thumbnail_opening_page_epub_converter_convert_epub_page_range_zero.cs deleted file mode 100644 index 5969250..0000000 --- a/epub-converter/extract_tiff_thumbnail_opening_page_epub_converter_convert_epub_page_range_zero.cs +++ /dev/null @@ -1,47 +0,0 @@ -// Extract a TIFF thumbnail of the opening page from an EPUB using Converter.ConvertEPUB with page range set to zero. - -using System; -using System.IO; - -class Program -{ - static void Main() - { - try - { - string inputPath = "sample.epub"; - string outputPath = "thumbnail.tiff"; - - if (!File.Exists(inputPath)) - { - // Create a minimal placeholder EPUB file if it does not exist - File.WriteAllBytes(inputPath, new byte[0]); - } - - using (Stream stream = File.OpenRead(inputPath)) - { - Aspose.Html.Saving.ImageSaveOptions options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Tiff) - { - Compression = Aspose.Html.Rendering.Image.Compression.None, - UseAntialiasing = true, - HorizontalResolution = 96, - VerticalResolution = 96, - BackgroundColor = System.Drawing.Color.White - }; - - // Define a small page size for the thumbnail (e.g., 200x200 pixels) - options.PageSetup.AnyPage = new Aspose.Html.Drawing.Page( - new Aspose.Html.Drawing.Size(200, 200), - new Aspose.Html.Drawing.Margin(0, 0, 0, 0)); - - Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); - } - - Console.WriteLine("Thumbnail saved to " + outputPath); - } - catch (Exception ex) - { - Console.WriteLine("Error: " + ex.Message); - } - } -} \ No newline at end of file diff --git a/epub-converter/convert_epub_to_png_returning_image_data_via_custom_icreatestreamprovider_implementation.cs b/epub-converter/generate-separate-png-files-per-epub-page-configuring-imagesaveoptions-output-one-image-per-page.cs similarity index 53% rename from epub-converter/convert_epub_to_png_returning_image_data_via_custom_icreatestreamprovider_implementation.cs rename to epub-converter/generate-separate-png-files-per-epub-page-configuring-imagesaveoptions-output-one-image-per-page.cs index 6042b21..bc451ff 100644 --- a/epub-converter/convert_epub_to_png_returning_image_data_via_custom_icreatestreamprovider_implementation.cs +++ b/epub-converter/generate-separate-png-files-per-epub-page-configuring-imagesaveoptions-output-one-image-per-page.cs @@ -1,13 +1,18 @@ -// Convert EPUB to PNG while returning the image data through a custom ICreateStreamProvider implementation. +// Generate separate PNG files for each EPUB page by configuring ImageSaveOptions to output one image per page. using System; -using System.Collections.Generic; using System.IO; +using System.Collections.Generic; +using Aspose.Html.IO; +using Aspose.Html.Saving; +using Aspose.Html.Converters; class MemoryStreamProvider : Aspose.Html.IO.ICreateStreamProvider, IDisposable { private readonly List _streams = new List(); + public IReadOnlyList Streams => _streams; + public Stream GetStream(string name, string extension) { var ms = new MemoryStream(); @@ -24,7 +29,7 @@ public Stream GetStream(string name, string extension, int page) public void ReleaseStream(Stream stream) { - // No action needed for in-memory streams in this example + // No action needed; streams are retained for later use. } public void Dispose() @@ -35,8 +40,6 @@ public void Dispose() } _streams.Clear(); } - - public IReadOnlyList Streams => _streams; } class Program @@ -45,52 +48,45 @@ static void Main() { try { - // Define input EPUB path and ensure it exists (create a minimal placeholder if needed) + // Input EPUB file path string inputPath = "sample.epub"; + // Ensure the input file exists (for demonstration, create an empty file if missing) if (!File.Exists(inputPath)) { - // Create a minimal empty EPUB file (this is just for demonstration; real EPUB should be valid) - using (var fs = File.Create(inputPath)) - { - // Write minimal ZIP header to make it a valid archive (optional) - } + File.WriteAllBytes(inputPath, new byte[0]); } - // Open the EPUB file as a stream using (Stream epubStream = File.OpenRead(inputPath)) { - // Set image save options (defaults to PNG) + // Configure image save options (default format is PNG) Aspose.Html.Saving.ImageSaveOptions options = new Aspose.Html.Saving.ImageSaveOptions(); - // Create custom stream provider to capture output images in memory + // Create custom stream provider to capture each page as a separate stream using (MemoryStreamProvider provider = new MemoryStreamProvider()) { - // Convert EPUB pages to images using the provider + // Convert EPUB to images, one stream per page Aspose.Html.Converters.Converter.ConvertEPUB(epubStream, options, provider); - // Ensure output directory exists - string outputDir = "output_images"; - Directory.CreateDirectory(outputDir); - - // Save each generated image stream to a separate PNG file + // Save each generated stream to a separate PNG file for (int i = 0; i < provider.Streams.Count; i++) { - MemoryStream imageStream = provider.Streams[i]; - imageStream.Position = 0; - string outputPath = Path.Combine(outputDir, $"page_{i + 1}.png"); + MemoryStream pageStream = provider.Streams[i]; + pageStream.Position = 0; // Rewind before reading + + string outputPath = $"page_{i + 1}.png"; using (FileStream fileStream = File.Create(outputPath)) { - imageStream.CopyTo(fileStream); + pageStream.CopyTo(fileStream); } } } } - Console.WriteLine("EPUB conversion to PNG completed successfully."); + Console.WriteLine("EPUB conversion completed successfully."); } catch (Exception ex) { - Console.WriteLine("Error during EPUB to PNG conversion: " + ex.Message); + Console.WriteLine($"Error: {ex.Message}"); } } } \ No newline at end of file diff --git a/epub-converter/generate_separate_png_files_each_epub_page_configuring_imagesaveoptions_output_one_image_per_page.cs b/epub-converter/generate_separate_png_files_each_epub_page_configuring_imagesaveoptions_output_one_image_per_page.cs deleted file mode 100644 index b4a5844..0000000 --- a/epub-converter/generate_separate_png_files_each_epub_page_configuring_imagesaveoptions_output_one_image_per_page.cs +++ /dev/null @@ -1,88 +0,0 @@ -// Generate separate PNG files for each EPUB page by configuring ImageSaveOptions to output one image per page. - -using System; -using System.IO; -using System.Collections.Generic; -using Aspose.Html.IO; - -class MemoryStreamProvider : Aspose.Html.IO.ICreateStreamProvider, IDisposable -{ - private readonly List _streams = new List(); - - public System.IO.Stream GetStream(string name, string extension) - { - var ms = new MemoryStream(); - _streams.Add(ms); - return ms; - } - - public System.IO.Stream GetStream(string name, string extension, int page) - { - var ms = new MemoryStream(); - _streams.Add(ms); - return ms; - } - - public void ReleaseStream(System.IO.Stream stream) - { - // No action needed for in-memory streams - } - - public void Dispose() - { - foreach (var ms in _streams) - { - ms.Dispose(); - } - _streams.Clear(); - } - - public IReadOnlyList Streams => _streams; -} - -class Program -{ - static void Main() - { - try - { - string inputPath = "sample.epub"; - string outputDir = "output"; - - if (!File.Exists(inputPath)) - { - Console.WriteLine($"Input file not found: {inputPath}"); - return; - } - - Directory.CreateDirectory(outputDir); - - using (System.IO.Stream epubStream = System.IO.File.OpenRead(inputPath)) - { - var options = new Aspose.Html.Saving.ImageSaveOptions(); - var provider = new MemoryStreamProvider(); - - Aspose.Html.Converters.Converter.ConvertEPUB(epubStream, options, provider); - - int pageIndex = 1; - foreach (var memoryStream in provider.Streams) - { - memoryStream.Position = 0; - string outputPath = Path.Combine(outputDir, $"page_{pageIndex}.png"); - using (var fileStream = System.IO.File.Create(outputPath)) - { - memoryStream.CopyTo(fileStream); - } - Console.WriteLine($"Saved page {pageIndex} to {outputPath}"); - pageIndex++; - } - - provider.Dispose(); - } - } - catch (Exception ex) - { - Console.WriteLine($"Error: {ex.Message}"); - } - } -} \ No newline at end of file diff --git a/epub-converter/implement_retry_mechanism_reattempts_epub_to_gif_conversion_up_to_three_times_on_failure.cs b/epub-converter/implement-retry-mechanism-reattempt-epub-to-gif-conversion-up-to-three-times-on-failure.cs similarity index 57% rename from epub-converter/implement_retry_mechanism_reattempts_epub_to_gif_conversion_up_to_three_times_on_failure.cs rename to epub-converter/implement-retry-mechanism-reattempt-epub-to-gif-conversion-up-to-three-times-on-failure.cs index 0783bb4..c61488b 100644 --- a/epub-converter/implement_retry_mechanism_reattempts_epub_to_gif_conversion_up_to_three_times_on_failure.cs +++ b/epub-converter/implement-retry-mechanism-reattempt-epub-to-gif-conversion-up-to-three-times-on-failure.cs @@ -1,34 +1,38 @@ // Implement a retry mechanism that reattempts EPUB to GIF conversion up to three times on failure. using System; +using System.IO; +using Aspose.Html.Saving; +using Aspose.Html.Rendering.Image; +using Aspose.Html.Converters; class Program { static void Main() { - try - { - string inputPath = "sample.epub"; - string outputPath = "output.gif"; + const string inputPath = "sample.epub"; + const string outputPath = "output.gif"; - // Ensure the input file exists (create an empty placeholder if missing) - if (!System.IO.File.Exists(inputPath)) - { - System.IO.File.WriteAllBytes(inputPath, new byte[0]); - } + // Ensure the input file exists to avoid FileNotFoundException. + if (!File.Exists(inputPath)) + { + File.WriteAllBytes(inputPath, new byte[0]); + } - int maxAttempts = 3; - int attempt = 0; - bool success = false; + const int maxAttempts = 3; + int attempt = 0; + bool success = false; + try + { while (attempt < maxAttempts && !success) { attempt++; try { - using (System.IO.FileStream epubStream = System.IO.File.OpenRead(inputPath)) + using (FileStream epubStream = File.OpenRead(inputPath)) { - var options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Gif); + ImageSaveOptions options = new ImageSaveOptions(ImageFormat.Gif); Aspose.Html.Converters.Converter.ConvertEPUB(epubStream, options, outputPath); } @@ -40,7 +44,7 @@ static void Main() Console.WriteLine($"Attempt {attempt} failed: {ex.Message}"); if (attempt >= maxAttempts) { - Console.WriteLine("All attempts failed."); + Console.WriteLine("All attempts failed. Conversion could not be completed."); } } } diff --git a/epub-converter/implement_logging_of_input_epub_metadata_before_conversion_to_assist_troubleshooting_output_gif_issues.cs b/epub-converter/implement_logging_of_input_epub_metadata_before_conversion_to_assist_troubleshooting_output_gif_issues.cs deleted file mode 100644 index ebe7234..0000000 --- a/epub-converter/implement_logging_of_input_epub_metadata_before_conversion_to_assist_troubleshooting_output_gif_issues.cs +++ /dev/null @@ -1,38 +0,0 @@ -// Implement logging of input EPUB metadata before conversion to assist in troubleshooting output GIF issues. - -namespace Example -{ - class Program - { - static void Main() - { - try - { - string inputPath = "sample.epub"; - string outputPath = "output.gif"; - - if (!System.IO.File.Exists(inputPath)) - { - System.IO.File.WriteAllBytes(inputPath, new byte[0]); - } - - var fileInfo = new System.IO.FileInfo(inputPath); - System.Console.WriteLine($"EPUB Path: {inputPath}"); - System.Console.WriteLine($"Size: {fileInfo.Length} bytes"); - System.Console.WriteLine($"Created: {fileInfo.CreationTime}"); - System.Console.WriteLine($"Last Modified: {fileInfo.LastWriteTime}"); - - using (System.IO.FileStream epubStream = System.IO.File.OpenRead(inputPath)) - { - Aspose.Html.Saving.ImageSaveOptions options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Gif); - Aspose.Html.Converters.Converter.ConvertEPUB(epubStream, options, outputPath); - System.Console.WriteLine($"Conversion completed. GIF saved to {outputPath}"); - } - } - catch (System.Exception ex) - { - System.Console.WriteLine($"Error: {ex.Message}"); - } - } - } -} \ No newline at end of file diff --git a/epub-converter/integrate_epub_to_gif_conversion_into_aspnet_mvc_controller_action_for_on_demand_rendering.cs b/epub-converter/integrate-epub-to-gif-conversion-into-aspnet-mvc-controller-action-for-on-demand-rendering.cs similarity index 68% rename from epub-converter/integrate_epub_to_gif_conversion_into_aspnet_mvc_controller_action_for_on_demand_rendering.cs rename to epub-converter/integrate-epub-to-gif-conversion-into-aspnet-mvc-controller-action-for-on-demand-rendering.cs index 1e2a431..c0e6bc4 100644 --- a/epub-converter/integrate_epub_to_gif_conversion_into_aspnet_mvc_controller_action_for_on_demand_rendering.cs +++ b/epub-converter/integrate-epub-to-gif-conversion-into-aspnet-mvc-controller-action-for-on-demand-rendering.cs @@ -2,9 +2,6 @@ using System; using System.IO; -using Aspose.Html.Saving; -using Aspose.Html.Rendering.Image; -using Aspose.Html.Converters; class Program { @@ -17,13 +14,14 @@ static void Main() if (!File.Exists(inputPath)) { - // Create a placeholder empty EPUB file - File.WriteAllBytes(inputPath, new byte[0]); + // Create a minimal placeholder file (ZIP header) to avoid file-not-found errors. + File.WriteAllBytes(inputPath, new byte[] { 0x50, 0x4B, 0x03, 0x04 }); } using (FileStream stream = File.OpenRead(inputPath)) { - ImageSaveOptions options = new ImageSaveOptions(ImageFormat.Gif); + var options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Gif); + options.UseAntialiasing = true; Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); } diff --git a/epub-converter/convert_epub_to_gif_using_converter_convert_epub_default_configuration.cs b/epub-converter/load-epub-file-from-disk-and-convert-to-gif-default-settings.cs similarity index 59% rename from epub-converter/convert_epub_to_gif_using_converter_convert_epub_default_configuration.cs rename to epub-converter/load-epub-file-from-disk-and-convert-to-gif-default-settings.cs index 3a101f0..a340dc8 100644 --- a/epub-converter/convert_epub_to_gif_using_converter_convert_epub_default_configuration.cs +++ b/epub-converter/load-epub-file-from-disk-and-convert-to-gif-default-settings.cs @@ -1,8 +1,10 @@ -// Convert an EPUB file to GIF format through Converter.ConvertEPUB using the library’s default configuration. +// Load an EPUB file from disk and convert it to a GIF using default settings. -public class Program +using System; + +class Program { - public static void Main(string[] args) + static void Main() { try { @@ -15,11 +17,11 @@ public static void Main(string[] args) Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); } - System.Console.WriteLine("EPUB converted to GIF successfully."); + Console.WriteLine("Conversion completed successfully."); } - catch (System.Exception ex) + catch (Exception ex) { - System.Console.WriteLine("Error: " + ex.Message); + Console.WriteLine("Error: " + ex.Message); } } } \ No newline at end of file diff --git a/epub-converter/logging-input-epub-metadata-before-conversion-troubleshoot-output-gif-issues.cs b/epub-converter/logging-input-epub-metadata-before-conversion-troubleshoot-output-gif-issues.cs new file mode 100644 index 0000000..6468779 --- /dev/null +++ b/epub-converter/logging-input-epub-metadata-before-conversion-troubleshoot-output-gif-issues.cs @@ -0,0 +1,33 @@ +// Implement logging of input EPUB metadata before conversion to assist in troubleshooting output GIF issues. + +using System; + +class Program +{ + static void Main() + { + try + { + string inputPath = "sample.epub"; + string outputPath = "output.gif"; + + // Log EPUB metadata + System.IO.FileInfo fileInfo = new System.IO.FileInfo(inputPath); + Console.WriteLine($"EPUB Path: {fileInfo.FullName}"); + Console.WriteLine($"Size (bytes): {fileInfo.Length}"); + Console.WriteLine($"Created: {fileInfo.CreationTime}"); + + // Convert EPUB to GIF + using (System.IO.FileStream stream = System.IO.File.OpenRead(inputPath)) + { + Aspose.Html.Saving.ImageSaveOptions options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Gif); + Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); + Console.WriteLine($"Conversion completed. GIF saved to {outputPath}"); + } + } + catch (Exception ex) + { + Console.WriteLine($"Error: {ex.Message}"); + } + } +} \ No newline at end of file diff --git a/epub-converter/measure_conversion_time_recording_timestamps_before_and_after_converter_convert_epub_performance_analysis.cs b/epub-converter/measure-conversion-time-recording-timestamps-before-after-calling-converter-convert-epub-performance-analysis.cs similarity index 52% rename from epub-converter/measure_conversion_time_recording_timestamps_before_and_after_converter_convert_epub_performance_analysis.cs rename to epub-converter/measure-conversion-time-recording-timestamps-before-after-calling-converter-convert-epub-performance-analysis.cs index 669f4e8..fba7f4d 100644 --- a/epub-converter/measure_conversion_time_recording_timestamps_before_and_after_converter_convert_epub_performance_analysis.cs +++ b/epub-converter/measure-conversion-time-recording-timestamps-before-after-calling-converter-convert-epub-performance-analysis.cs @@ -8,7 +8,7 @@ using Aspose.Html.Saving; using Aspose.Html.Converters; -public class MemoryStreamProvider : ICreateStreamProvider, IDisposable +class MemoryStreamProvider : ICreateStreamProvider, IDisposable { private readonly List _streams = new List(); @@ -30,7 +30,7 @@ public Stream GetStream(string name, string extension, int page) public void ReleaseStream(Stream stream) { - // No action needed for in-memory streams + // No action needed; streams are kept for later use. } public void Dispose() @@ -43,47 +43,54 @@ public void Dispose() } } -public class Program +class Program { - public static void Main() + static void Main() { try { + // Input EPUB file path (replace with an existing file or create a minimal one) string inputPath = "sample.epub"; + // Output XPS file path (first generated stream will be saved here) string outputPath = "output.xps"; + // Ensure a sample EPUB file exists (minimal placeholder) if (!File.Exists(inputPath)) { - // Create a minimal placeholder EPUB file + // Create an empty file just for demonstration; real conversion requires valid EPUB content. File.WriteAllBytes(inputPath, new byte[0]); } using (Stream inputStream = File.OpenRead(inputPath)) { XpsSaveOptions options = new XpsSaveOptions(); - using (MemoryStreamProvider provider = new MemoryStreamProvider()) - { - Stopwatch sw = Stopwatch.StartNew(); - Aspose.Html.Converters.Converter.ConvertEPUB(inputStream, options, provider); - sw.Stop(); - Console.WriteLine($"Conversion time: {sw.Elapsed}"); + MemoryStreamProvider provider = new MemoryStreamProvider(); - if (provider.Streams.Count > 0) - { - MemoryStream firstStream = provider.Streams[0]; - firstStream.Position = 0; - using (FileStream fileStream = File.Create(outputPath)) - { - firstStream.CopyTo(fileStream); - } - Console.WriteLine($"Output saved to {outputPath}"); - } - else + Stopwatch sw = new Stopwatch(); + sw.Start(); + + Aspose.Html.Converters.Converter.ConvertEPUB(inputStream, options, provider); + + sw.Stop(); + Console.WriteLine($"Conversion elapsed time: {sw.Elapsed}"); + + if (provider.Streams.Count > 0) + { + MemoryStream firstStream = provider.Streams[0]; + firstStream.Position = 0; + using (FileStream fileStream = File.Create(outputPath)) { - Console.WriteLine("No output streams were generated."); + firstStream.CopyTo(fileStream); } + Console.WriteLine($"First generated XPS saved to: {outputPath}"); } + else + { + Console.WriteLine("No streams were generated by the conversion."); + } + + provider.Dispose(); } } catch (Exception ex) diff --git a/epub-converter/parallel-convert-epub-collection-documents-to-bmp-images-concurrent-tasks-reduce-runtime.cs b/epub-converter/parallel-convert-epub-collection-documents-to-bmp-images-concurrent-tasks-reduce-runtime.cs new file mode 100644 index 0000000..356251d --- /dev/null +++ b/epub-converter/parallel-convert-epub-collection-documents-to-bmp-images-concurrent-tasks-reduce-runtime.cs @@ -0,0 +1,80 @@ +// Parallel convert a collection of EPUB documents to BMP images with concurrent tasks to reduce overall runtime. + +using System; +using System.IO; +using System.Collections.Generic; +using System.Threading.Tasks; +using Aspose.Html.Saving; +using Aspose.Html.Rendering.Image; +using Aspose.Html.Converters; + +class Program +{ + static void Main() + { + try + { + // Define input EPUB files (hardcoded for the example) + string[] epubFiles = new string[] + { + "sample1.epub", + "sample2.epub", + "sample3.epub" + }; + + // Ensure sample EPUB files exist (empty placeholders) + foreach (string epubPath in epubFiles) + { + if (!File.Exists(epubPath)) + { + using (FileStream fs = File.Create(epubPath)) + { + // Create an empty file as placeholder + } + } + } + + // Prepare output base directory + string outputBase = "output"; + if (!Directory.Exists(outputBase)) + { + Directory.CreateDirectory(outputBase); + } + + // List to hold conversion tasks + List tasks = new List(); + + foreach (string epubPath in epubFiles) + { + tasks.Add(Task.Run(() => + { + // Create a unique output folder for each EPUB + string outputFolder = Path.Combine(outputBase, Path.GetFileNameWithoutExtension(epubPath)); + if (!Directory.Exists(outputFolder)) + { + Directory.CreateDirectory(outputFolder); + } + + // Open the EPUB file as a stream + using (Stream epubStream = File.OpenRead(epubPath)) + { + // Set image save options to BMP format + ImageSaveOptions options = new ImageSaveOptions(ImageFormat.Bmp); + + // Convert EPUB to BMP images, each page will be saved in the output folder + Aspose.Html.Converters.Converter.ConvertEPUB(epubStream, options, outputFolder); + } + })); + } + + // Wait for all conversions to complete + Task.WaitAll(tasks.ToArray()); + + Console.WriteLine("All EPUB files have been converted to BMP images."); + } + catch (Exception ex) + { + Console.WriteLine("An error occurred: " + ex.Message); + } + } +} \ No newline at end of file diff --git a/epub-converter/parallel_convert_epub_collection_to_bmp_images_concurrent_tasks_reduce_overall_runtime.cs b/epub-converter/parallel_convert_epub_collection_to_bmp_images_concurrent_tasks_reduce_overall_runtime.cs deleted file mode 100644 index 3a4d4c9..0000000 --- a/epub-converter/parallel_convert_epub_collection_to_bmp_images_concurrent_tasks_reduce_overall_runtime.cs +++ /dev/null @@ -1,54 +0,0 @@ -// Parallel convert a collection of EPUB documents to BMP images with concurrent tasks to reduce overall runtime. - -using System; -using System.IO; -using System.Collections.Generic; -using System.Threading.Tasks; - -class Program -{ - static void Main() - { - try - { - var epubFiles = new List - { - "sample1.epub", - "sample2.epub" - }; - - // Create placeholder EPUB files if they do not exist - foreach (var file in epubFiles) - { - if (!File.Exists(file)) - { - File.WriteAllBytes(file, new byte[0]); - } - } - - var tasks = new List(); - - foreach (var epubPath in epubFiles) - { - tasks.Add(Task.Run(() => - { - using (System.IO.Stream stream = System.IO.File.OpenRead(epubPath)) - { - var options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Bmp); - string outputFolder = Path.Combine("output", Path.GetFileNameWithoutExtension(epubPath)); - Directory.CreateDirectory(outputFolder); - Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputFolder); - } - })); - } - - Task.WaitAll(tasks.ToArray()); - - Console.WriteLine("Conversion completed."); - } - catch (Exception ex) - { - Console.WriteLine($"Error: {ex.Message}"); - } - } -} \ No newline at end of file diff --git a/epub-converter/parallelize-conversion-multiple-epub-files-to-jpeg-using-parallel-foreach-improve-processing-throughput.cs b/epub-converter/parallelize-conversion-multiple-epub-files-to-jpeg-using-parallel-foreach-improve-processing-throughput.cs new file mode 100644 index 0000000..0c1f260 --- /dev/null +++ b/epub-converter/parallelize-conversion-multiple-epub-files-to-jpeg-using-parallel-foreach-improve-processing-throughput.cs @@ -0,0 +1,63 @@ +// Parallelize conversion of multiple EPUB files to JPEG using Parallel.ForEach to improve processing throughput. + +using System; +using System.IO; +using System.Threading.Tasks; + +class Program +{ + static void Main() + { + try + { + // Define input EPUB files (replace with actual paths or add more files) + string[] epubFiles = new string[] + { + "Sample1.epub", + "Sample2.epub", + "Sample3.epub" + }; + + // Define output directory + string outputDir = "OutputImages"; + if (!Directory.Exists(outputDir)) + { + Directory.CreateDirectory(outputDir); + } + + // Parallel conversion + Parallel.ForEach(epubFiles, epubPath => + { + try + { + if (!File.Exists(epubPath)) + { + Console.WriteLine($"Input file not found: {epubPath}"); + return; + } + + string outputFileName = Path.GetFileNameWithoutExtension(epubPath) + ".jpg"; + string outputPath = Path.Combine(outputDir, outputFileName); + + using (FileStream inputStream = File.OpenRead(epubPath)) + { + var options = new Aspose.Html.Saving.ImageSaveOptions( + Aspose.Html.Rendering.Image.ImageFormat.Jpeg); + + Aspose.Html.Converters.Converter.ConvertEPUB(inputStream, options, outputPath); + } + + Console.WriteLine($"Converted '{epubPath}' to '{outputPath}'."); + } + catch (Exception ex) + { + Console.WriteLine($"Error processing '{epubPath}': {ex.Message}"); + } + }); + } + catch (Exception ex) + { + Console.WriteLine($"Fatal error: {ex.Message}"); + } + } +} \ No newline at end of file diff --git a/epub-converter/parallelize_conversion_multiple_epub_files_to_jpeg_parallel_foreach_improve_processing_throughput.cs b/epub-converter/parallelize_conversion_multiple_epub_files_to_jpeg_parallel_foreach_improve_processing_throughput.cs deleted file mode 100644 index f41876c..0000000 --- a/epub-converter/parallelize_conversion_multiple_epub_files_to_jpeg_parallel_foreach_improve_processing_throughput.cs +++ /dev/null @@ -1,57 +0,0 @@ -// Parallelize conversion of multiple EPUB files to JPEG using Parallel.ForEach to improve processing throughput. - -using System; -using System.IO; -using System.Collections.Generic; -using System.Threading.Tasks; - -class Program -{ - static void Main() - { - try - { - string inputDir = Path.Combine(Directory.GetCurrentDirectory(), "InputEpubs"); - string outputDir = Path.Combine(Directory.GetCurrentDirectory(), "OutputJpegs"); - - Directory.CreateDirectory(inputDir); - Directory.CreateDirectory(outputDir); - - // Create sample EPUB files (empty placeholders for demonstration) - for (int i = 1; i <= 3; i++) - { - string samplePath = Path.Combine(inputDir, $"sample{i}.epub"); - if (!File.Exists(samplePath)) - { - File.WriteAllBytes(samplePath, new byte[0]); - } - } - - string[] epubFiles = Directory.GetFiles(inputDir, "*.epub"); - - Parallel.ForEach(epubFiles, epubPath => - { - try - { - using (FileStream epubStream = File.OpenRead(epubPath)) - { - Aspose.Html.Saving.ImageSaveOptions options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Jpeg); - string outputFileName = Path.GetFileNameWithoutExtension(epubPath) + ".jpg"; - string outputPath = Path.Combine(outputDir, outputFileName); - - Aspose.Html.Converters.Converter.ConvertEPUB(epubStream, options, outputPath); - Console.WriteLine($"Converted '{epubPath}' to '{outputPath}'."); - } - } - catch (Exception ex) - { - Console.WriteLine($"Error converting '{epubPath}': {ex.Message}"); - } - }); - } - catch (Exception ex) - { - Console.WriteLine($"Unexpected error: {ex.Message}"); - } - } -} \ No newline at end of file diff --git a/epub-converter/perform-parallel-epub-to-gif-conversions-with-parallelism-limit-to-avoid-overwhelming-system-resources.cs b/epub-converter/perform-parallel-epub-to-gif-conversions-with-parallelism-limit-to-avoid-overwhelming-system-resources.cs new file mode 100644 index 0000000..a019c02 --- /dev/null +++ b/epub-converter/perform-parallel-epub-to-gif-conversions-with-parallelism-limit-to-avoid-overwhelming-system-resources.cs @@ -0,0 +1,56 @@ +// Perform parallel EPUB to GIF conversions with a degree of parallelism limit to avoid overwhelming system resources. + +using System; +using System.IO; +using System.Collections.Generic; +using System.Threading.Tasks; +using Aspose.Html.Saving; +using Aspose.Html.Rendering.Image; + +class Program +{ + static void Main() + { + try + { + // Prepare sample EPUB files (empty placeholders for demonstration) + string[] inputFiles = new string[] { "sample1.epub", "sample2.epub", "sample3.epub" }; + foreach (string file in inputFiles) + { + if (!File.Exists(file)) + { + File.WriteAllBytes(file, new byte[0]); + } + } + + // Set degree of parallelism + ParallelOptions parallelOptions = new ParallelOptions { MaxDegreeOfParallelism = 4 }; + + Parallel.ForEach(inputFiles, parallelOptions, inputPath => + { + try + { + using (FileStream epubStream = File.OpenRead(inputPath)) + { + ImageSaveOptions saveOptions = new ImageSaveOptions(ImageFormat.Gif); + saveOptions.UseAntialiasing = true; + saveOptions.HorizontalResolution = 96; + saveOptions.VerticalResolution = 96; + + string outputPath = Path.ChangeExtension(inputPath, ".gif"); + Aspose.Html.Converters.Converter.ConvertEPUB(epubStream, saveOptions, outputPath); + Console.WriteLine($"Converted '{inputPath}' to '{outputPath}'."); + } + } + catch (Exception ex) + { + Console.WriteLine($"Error converting '{inputPath}': {ex.Message}"); + } + }); + } + catch (Exception e) + { + Console.WriteLine($"Fatal error: {e.Message}"); + } + } +} \ No newline at end of file diff --git a/epub-converter/perform_parallel_epub_gif_conversions_degree_of_parallelism_limit_avoid_overwhelming_system_resources.cs b/epub-converter/perform_parallel_epub_gif_conversions_degree_of_parallelism_limit_avoid_overwhelming_system_resources.cs deleted file mode 100644 index d928e4e..0000000 --- a/epub-converter/perform_parallel_epub_gif_conversions_degree_of_parallelism_limit_avoid_overwhelming_system_resources.cs +++ /dev/null @@ -1,73 +0,0 @@ -// Perform parallel EPUB to GIF conversions with a degree of parallelism limit to avoid overwhelming system resources. - -using System; -using System.IO; -using System.Collections.Generic; -using System.Threading.Tasks; - -class Program -{ - static void Main() - { - try - { - // Define input EPUB files (for demo purposes, create dummy files if they don't exist) - string inputDirectory = Path.Combine(Directory.GetCurrentDirectory(), "InputEpubs"); - string outputDirectory = Path.Combine(Directory.GetCurrentDirectory(), "OutputGifs"); - Directory.CreateDirectory(inputDirectory); - Directory.CreateDirectory(outputDirectory); - - // Sample file names - List epubFiles = new List - { - Path.Combine(inputDirectory, "sample1.epub"), - Path.Combine(inputDirectory, "sample2.epub"), - Path.Combine(inputDirectory, "sample3.epub") - }; - - // Ensure dummy EPUB files exist - foreach (var file in epubFiles) - { - if (!File.Exists(file)) - { - File.WriteAllBytes(file, new byte[0]); // empty placeholder - } - } - - // Set degree of parallelism - var parallelOptions = new ParallelOptions - { - MaxDegreeOfParallelism = Environment.ProcessorCount - }; - - Parallel.ForEach(epubFiles, parallelOptions, epubPath => - { - try - { - string fileNameWithoutExt = Path.GetFileNameWithoutExtension(epubPath); - string outputPath = Path.Combine(outputDirectory, fileNameWithoutExt + ".gif"); - - using (FileStream epubStream = File.OpenRead(epubPath)) - { - var options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Gif); - options.UseAntialiasing = true; - options.HorizontalResolution = 96; - options.VerticalResolution = 96; - - Aspose.Html.Converters.Converter.ConvertEPUB(epubStream, options, outputPath); - } - - Console.WriteLine($"Converted '{epubPath}' to '{outputPath}'."); - } - catch (Exception ex) - { - Console.WriteLine($"Error converting '{epubPath}': {ex.Message}"); - } - }); - } - catch (Exception ex) - { - Console.WriteLine($"Fatal error: {ex.Message}"); - } - } -} \ No newline at end of file diff --git a/epub-converter/run-parallel-epub-to-tiff-conversions-taskrun-per-file-handling-exceptions-individually.cs b/epub-converter/run-parallel-epub-to-tiff-conversions-taskrun-per-file-handling-exceptions-individually.cs new file mode 100644 index 0000000..04c55bd --- /dev/null +++ b/epub-converter/run-parallel-epub-to-tiff-conversions-taskrun-per-file-handling-exceptions-individually.cs @@ -0,0 +1,57 @@ +// Run parallel conversions from EPUB to TIFF using Task.Run for each file, handling exceptions individually. + +using System; +using System.IO; +using System.Threading.Tasks; + +class Program +{ + static void Main() + { + try + { + string[] inputFiles = { "sample1.epub", "sample2.epub" }; + string outputDir = "output"; + Directory.CreateDirectory(outputDir); + + // Ensure sample EPUB files exist (dummy content for example purposes) + foreach (var file in inputFiles) + { + if (!File.Exists(file)) + { + File.WriteAllText(file, "Dummy EPUB content"); + } + } + + Task[] tasks = new Task[inputFiles.Length]; + for (int i = 0; i < inputFiles.Length; i++) + { + string inputPath = inputFiles[i]; + string outputPath = Path.Combine(outputDir, Path.GetFileNameWithoutExtension(inputPath) + ".tiff"); + + tasks[i] = Task.Run(() => + { + try + { + using (Stream stream = File.OpenRead(inputPath)) + { + var options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Tiff); + Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); + Console.WriteLine($"Converted '{inputPath}' to '{outputPath}'."); + } + } + catch (Exception ex) + { + Console.WriteLine($"Error converting '{inputPath}': {ex.Message}"); + } + }); + } + + Task.WaitAll(tasks); + } + catch (Exception ex) + { + Console.WriteLine($"Fatal error: {ex.Message}"); + } + } +} \ No newline at end of file diff --git a/epub-converter/run_parallel_epub_to_tiff_conversions_taskrun_for_each_file_handling_exceptions_individually.cs b/epub-converter/run_parallel_epub_to_tiff_conversions_taskrun_for_each_file_handling_exceptions_individually.cs deleted file mode 100644 index f0fb692..0000000 --- a/epub-converter/run_parallel_epub_to_tiff_conversions_taskrun_for_each_file_handling_exceptions_individually.cs +++ /dev/null @@ -1,56 +0,0 @@ -// Run parallel conversions from EPUB to TIFF using Task.Run for each file, handling exceptions individually. - -using System; -using System.IO; -using System.Threading.Tasks; -using System.Collections.Generic; - -class Program -{ - static void Main() - { - try - { - var epubFiles = new List - { - "sample1.epub", - "sample2.epub", - "sample3.epub" - }; - - var tasks = new List(); - - foreach (var epubPath in epubFiles) - { - tasks.Add(Task.Run(() => - { - try - { - if (!File.Exists(epubPath)) - { - File.WriteAllBytes(epubPath, new byte[0]); - } - - using (var stream = File.OpenRead(epubPath)) - { - var options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Tiff); - string outputPath = Path.ChangeExtension(epubPath, ".tiff"); - Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); - Console.WriteLine($"Converted '{epubPath}' to '{outputPath}'."); - } - } - catch (Exception ex) - { - Console.WriteLine($"Error converting '{epubPath}': {ex.Message}"); - } - })); - } - - Task.WaitAll(tasks.ToArray()); - } - catch (Exception ex) - { - Console.WriteLine($"Unexpected error: {ex.Message}"); - } - } -} \ No newline at end of file diff --git a/epub-converter/set_imagesaveoptions_backgroundcolor_white_consistent_background_all_generated_gifs.cs b/epub-converter/set-imagesaveoptions-background-color-to-white-ensure-consistent-background-across-all-generated-gifs.cs similarity index 71% rename from epub-converter/set_imagesaveoptions_backgroundcolor_white_consistent_background_all_generated_gifs.cs rename to epub-converter/set-imagesaveoptions-background-color-to-white-ensure-consistent-background-across-all-generated-gifs.cs index feded6b..1bb189e 100644 --- a/epub-converter/set_imagesaveoptions_backgroundcolor_white_consistent_background_all_generated_gifs.cs +++ b/epub-converter/set-imagesaveoptions-background-color-to-white-ensure-consistent-background-across-all-generated-gifs.cs @@ -1,8 +1,6 @@ // Set ImageSaveOptions.BackgroundColor to white to ensure consistent background across all generated GIFs. using System; -using System.IO; -using System.Drawing; class Program { @@ -10,17 +8,17 @@ static void Main() { try { - string htmlPath = "sample.html"; + string htmlPath = "input.html"; string outputPath = "output.gif"; - if (!File.Exists(htmlPath)) + if (!System.IO.File.Exists(htmlPath)) { - File.WriteAllText(htmlPath, "

Hello, Aspose.HTML!

"); + System.IO.File.WriteAllText(htmlPath, "

Hello World

"); } Aspose.Html.HTMLDocument document = new Aspose.Html.HTMLDocument(htmlPath); Aspose.Html.Saving.ImageSaveOptions options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Gif); - options.BackgroundColor = Color.White; + options.BackgroundColor = System.Drawing.Color.White; Aspose.Html.Converters.Converter.ConvertHTML(document, options, outputPath); } diff --git a/epub-converter/set-imagesaveoptions-compressionlevel-optimize-gif-file-size-without-sacrificing-visual-quality-significantly.cs b/epub-converter/set-imagesaveoptions-compressionlevel-optimize-gif-file-size-without-sacrificing-visual-quality-significantly.cs new file mode 100644 index 0000000..614cf3a --- /dev/null +++ b/epub-converter/set-imagesaveoptions-compressionlevel-optimize-gif-file-size-without-sacrificing-visual-quality-significantly.cs @@ -0,0 +1,33 @@ +// Set ImageSaveOptions.CompressionLevel to optimize GIF file size without sacrificing visual quality significantly. + +namespace AsposeHtmlGifExample +{ + class Program + { + static void Main() + { + try + { + string htmlPath = "sample.html"; + string outputPath = "output.gif"; + + if (!System.IO.File.Exists(htmlPath)) + { + System.IO.File.WriteAllText(htmlPath, "

Hello, GIF!

"); + } + + Aspose.Html.Saving.ImageSaveOptions options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Gif); + options.HorizontalResolution = 96; + options.VerticalResolution = 96; + + Aspose.Html.HTMLDocument document = new Aspose.Html.HTMLDocument(htmlPath); + Aspose.Html.Converters.Converter.ConvertHTML(document, options, outputPath); + System.Console.WriteLine("GIF image saved to " + outputPath); + } + catch (System.Exception ex) + { + System.Console.WriteLine(ex.Message); + } + } + } +} \ No newline at end of file diff --git a/epub-converter/set_compression_level_optimize_gif_file_size_without_sacrificing_visual_quality_significantly.cs b/epub-converter/set_compression_level_optimize_gif_file_size_without_sacrificing_visual_quality_significantly.cs deleted file mode 100644 index 97c2b2d..0000000 --- a/epub-converter/set_compression_level_optimize_gif_file_size_without_sacrificing_visual_quality_significantly.cs +++ /dev/null @@ -1,44 +0,0 @@ -// Set ImageSaveOptions.CompressionLevel to optimize GIF file size without sacrificing visual quality significantly. - -using System; -using System.IO; -using Aspose.Html; -using Aspose.Html.Converters; -using Aspose.Html.Saving; -using Aspose.Html.Rendering.Image; - -class Program -{ - static void Main() - { - try - { - // Prepare sample HTML file - string htmlPath = "sample.html"; - if (!File.Exists(htmlPath)) - { - File.WriteAllText(htmlPath, "

Hello, Aspose.HTML!

"); - } - - // Output GIF path - string outputPath = "output.gif"; - - // Configure image save options for GIF - ImageSaveOptions options = new ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Gif); - options.HorizontalResolution = 96; - options.VerticalResolution = 96; - - // Load HTML document - HTMLDocument document = new HTMLDocument(htmlPath); - - // Convert HTML to GIF - Aspose.Html.Converters.Converter.ConvertHTML(document, options, outputPath); - - Console.WriteLine("Conversion completed successfully."); - } - catch (Exception ex) - { - Console.WriteLine(ex.Message); - } - } -} \ No newline at end of file diff --git a/epub-converter/stream-epub-content-from-network-source-into-memorystream-before-converting-to-gif.cs b/epub-converter/stream-epub-content-from-network-source-into-memorystream-before-converting-to-gif.cs new file mode 100644 index 0000000..523366c --- /dev/null +++ b/epub-converter/stream-epub-content-from-network-source-into-memorystream-before-converting-to-gif.cs @@ -0,0 +1,93 @@ +// Stream EPUB content from a network source into a MemoryStream before converting it to a GIF. + +using System; +using System.IO; +using System.Net.Http; +using System.Collections.Generic; +using Aspose.Html.Saving; +using Aspose.Html.Rendering.Image; +using Aspose.Html.IO; +using Aspose.Html.Converters; + +class MemoryStreamProvider : Aspose.Html.IO.ICreateStreamProvider, IDisposable +{ + private readonly List _streams = new List(); + public IReadOnlyList Streams => _streams; + + public Stream GetStream(string name, string extension) + { + var ms = new MemoryStream(); + _streams.Add(ms); + return ms; + } + + public Stream GetStream(string name, string extension, int page) + { + var ms = new MemoryStream(); + _streams.Add(ms); + return ms; + } + + public void ReleaseStream(Stream stream) + { + // No action needed for in-memory streams + } + + public void Dispose() + { + foreach (var ms in _streams) + { + ms.Dispose(); + } + } +} + +class Program +{ + static void Main() + { + try + { + // Input EPUB URL (replace with a valid URL) + string epubUrl = "https://example.com/sample.epub"; + // Output GIF file path + string outputPath = "output.gif"; + + // Download EPUB content into a MemoryStream + using var httpClient = new HttpClient(); + using var response = httpClient.GetAsync(epubUrl).Result; + response.EnsureSuccessStatusCode(); + using var networkStream = response.Content.ReadAsStreamAsync().Result; + using var epubMemory = new MemoryStream(); + networkStream.CopyTo(epubMemory); + epubMemory.Position = 0; + + // Set image save options for GIF format + var options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Gif); + + // Create custom stream provider to capture output streams + using var provider = new MemoryStreamProvider(); + + // Convert EPUB to GIF using the provider + Aspose.Html.Converters.Converter.ConvertEPUB(epubMemory, options, provider); + + // Retrieve the first generated GIF stream and save to file + if (provider.Streams.Count > 0) + { + var gifStream = provider.Streams[0]; + gifStream.Position = 0; + using var fileStream = File.Create(outputPath); + gifStream.CopyTo(fileStream); + Console.WriteLine($"GIF saved to: {outputPath}"); + } + else + { + Console.WriteLine("No GIF stream was generated."); + } + } + catch (Exception ex) + { + Console.WriteLine($"Error: {ex.Message}"); + } + } +} \ No newline at end of file diff --git a/epub-converter/stream_epub_content_from_network_source_into_memorystream_before_converting_to_gif.cs b/epub-converter/stream_epub_content_from_network_source_into_memorystream_before_converting_to_gif.cs deleted file mode 100644 index d224063..0000000 --- a/epub-converter/stream_epub_content_from_network_source_into_memorystream_before_converting_to_gif.cs +++ /dev/null @@ -1,99 +0,0 @@ -// Stream EPUB content from a network source into a MemoryStream before converting it to a GIF. - -using System; -using System.IO; -using System.Net.Http; -using System.Collections.Generic; -using Aspose.Html.IO; -using Aspose.Html.Saving; -using Aspose.Html.Rendering.Image; -using Aspose.Html.Converters; - -class MemoryStreamProvider : ICreateStreamProvider, IDisposable -{ - public List Streams { get; } = new List(); - - public Stream GetStream(string name, string extension) - { - var ms = new MemoryStream(); - Streams.Add(ms); - return ms; - } - - public Stream GetStream(string name, string extension, int page) - { - var ms = new MemoryStream(); - Streams.Add(ms); - return ms; - } - - public void ReleaseStream(Stream stream) - { - if (stream != null) - { - stream.Flush(); - } - } - - public void Dispose() - { - foreach (var ms in Streams) - { - ms.Dispose(); - } - } -} - -class Program -{ - static void Main() - { - try - { - // URL of the EPUB file (replace with a valid URL if needed) - string epubUrl = "https://example.com/sample.epub"; - // Output GIF file path - string outputPath = "output.gif"; - - // Download EPUB content into a MemoryStream - using (var httpClient = new HttpClient()) - using (var response = httpClient.GetAsync(epubUrl).Result) - using (var networkStream = response.Content.ReadAsStreamAsync().Result) - using (var epubMemory = new MemoryStream()) - { - networkStream.CopyTo(epubMemory); - epubMemory.Position = 0; - - // Prepare conversion options - var options = new ImageSaveOptions(ImageFormat.Gif); - - // Create custom stream provider - using (var provider = new MemoryStreamProvider()) - { - // Convert EPUB to GIF using the provider - Aspose.Html.Converters.Converter.ConvertEPUB(epubMemory, options, provider); - - // Retrieve the generated GIF stream - if (provider.Streams.Count > 0) - { - var gifStream = provider.Streams[0]; - gifStream.Position = 0; - using (var fileStream = File.Create(outputPath)) - { - gifStream.CopyTo(fileStream); - } - Console.WriteLine($"Conversion completed. GIF saved to '{outputPath}'."); - } - else - { - Console.WriteLine("No output streams were generated."); - } - } - } - } - catch (Exception ex) - { - Console.WriteLine($"Error: {ex.Message}"); - } - } -} \ No newline at end of file diff --git a/epub-converter/test-conversion-epub-embedded-fonts-verify-glyphs-render-correctly-gif-output.cs b/epub-converter/test-conversion-epub-embedded-fonts-verify-glyphs-render-correctly-gif-output.cs new file mode 100644 index 0000000..7dd18a6 --- /dev/null +++ b/epub-converter/test-conversion-epub-embedded-fonts-verify-glyphs-render-correctly-gif-output.cs @@ -0,0 +1,48 @@ +// Test conversion of an EPUB with embedded fonts to verify glyphs render correctly in the GIF output. + +using System; +using System.IO; +using Aspose.Html.Converters; +using Aspose.Html.Saving; +using Aspose.Html.Rendering.Image; +using Aspose.Html.Drawing; + +class Program +{ + static void Main() + { + try + { + string inputPath = "sample.epub"; + string outputPath = "output.gif"; + + // Ensure the input EPUB file exists; for demonstration, you may place a valid EPUB at the specified path. + if (!File.Exists(inputPath)) + { + Console.WriteLine($"Input file not found: {inputPath}"); + return; + } + + using (FileStream stream = File.OpenRead(inputPath)) + { + ImageSaveOptions options = new ImageSaveOptions(ImageFormat.Gif); + options.UseAntialiasing = true; + options.HorizontalResolution = 300; + options.VerticalResolution = 300; + + Page page = new Page( + new Size(800, 600), + new Margin(0, 0, 0, 0)); + options.PageSetup.AnyPage = page; + + Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); + } + + Console.WriteLine("EPUB conversion to GIF completed successfully."); + } + catch (Exception ex) + { + Console.WriteLine("Error: " + ex.Message); + } + } +} \ No newline at end of file diff --git a/epub-converter/test_epub_conversion_with_embedded_fonts_verify_glyphs_render_correctly_in_gif_output.cs b/epub-converter/test_epub_conversion_with_embedded_fonts_verify_glyphs_render_correctly_in_gif_output.cs deleted file mode 100644 index decad91..0000000 --- a/epub-converter/test_epub_conversion_with_embedded_fonts_verify_glyphs_render_correctly_in_gif_output.cs +++ /dev/null @@ -1,43 +0,0 @@ -// Test conversion of an EPUB with embedded fonts to verify glyphs render correctly in the GIF output. - -using System; - -class Program -{ - static void Main() - { - try - { - string inputPath = "sample.epub"; - string outputPath = "output.gif"; - - if (!System.IO.File.Exists(inputPath)) - { - // Create a placeholder EPUB file (empty content for demonstration) - System.IO.File.WriteAllBytes(inputPath, new byte[0]); - } - - using (System.IO.FileStream stream = System.IO.File.OpenRead(inputPath)) - { - var options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Gif); - options.UseAntialiasing = true; - options.HorizontalResolution = 96; - options.VerticalResolution = 96; - - var page = new Aspose.Html.Drawing.Page( - new Aspose.Html.Drawing.Size(800, 600), - new Aspose.Html.Drawing.Margin(0, 0, 0, 0)); - - options.PageSetup.AnyPage = page; - - Aspose.Html.Converters.Converter.ConvertEPUB(stream, options, outputPath); - } - - System.Console.WriteLine("Conversion completed. Output saved to " + outputPath); - } - catch (System.Exception ex) - { - System.Console.WriteLine("Error: " + ex.Message); - } - } -} \ No newline at end of file diff --git a/epub-converter/use-custom-stream-provider-store-gif-output-directly-into-cloud-storage-bucket.cs b/epub-converter/use-custom-stream-provider-store-gif-output-directly-into-cloud-storage-bucket.cs new file mode 100644 index 0000000..77cd908 --- /dev/null +++ b/epub-converter/use-custom-stream-provider-store-gif-output-directly-into-cloud-storage-bucket.cs @@ -0,0 +1,96 @@ +// Use a custom ICreateStreamProvider to store GIF output directly into a cloud storage bucket. + +using System; +using System.Collections.Generic; +using System.IO; +using Aspose.Html.IO; +using Aspose.Html.Saving; +using Aspose.Html.Rendering.Image; +using Aspose.Html.Converters; +using Aspose.Html; + +class CloudGifStreamProvider : Aspose.Html.IO.ICreateStreamProvider, IDisposable +{ + private List _streams = new List(); + + public Stream GetStream(string name, string extension) + { + return GetStream(name, extension, 0); + } + + public Stream GetStream(string name, string extension, int page) + { + var ms = new MemoryStream(); + _streams.Add(ms); + return ms; + } + + public void ReleaseStream(Stream stream) + { + // No action needed for in-memory streams + } + + public void Dispose() + { + foreach (var s in _streams) + { + s.Dispose(); + } + } + + public Stream GetFirstStream() + { + return _streams.Count > 0 ? _streams[0] : null; + } +} + +class Program +{ + static void Main() + { + try + { + // Sample HTML content + string htmlContent = "

Hello, Aspose.HTML!

"; + + // Create HTML document from string + var document = new Aspose.Html.HTMLDocument(htmlContent, "about:blank"); + + // Set image save options for GIF format + var options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Gif); + + // Initialize custom stream provider + using (var provider = new CloudGifStreamProvider()) + { + // Convert HTML to GIF using the provider + Aspose.Html.Converters.Converter.ConvertHTML(document, options, provider); + + // Retrieve the generated GIF stream + var gifStream = provider.GetFirstStream(); + if (gifStream != null) + { + gifStream.Position = 0; + + // Simulate uploading to a cloud storage bucket by saving to a local path + string outputPath = "cloud_bucket/output.gif"; + Directory.CreateDirectory(Path.GetDirectoryName(outputPath)); + + using (var file = File.Create(outputPath)) + { + gifStream.CopyTo(file); + } + + Console.WriteLine($"GIF image saved to: {outputPath}"); + } + else + { + Console.WriteLine("No GIF stream was generated."); + } + } + } + catch (Exception ex) + { + Console.WriteLine($"Error: {ex.Message}"); + } + } +} \ No newline at end of file diff --git a/epub-converter/use-try-finally-block-to-guarantee-disposal-of-streams-even-when-conversion-throws-exceptions.cs b/epub-converter/use-try-finally-block-to-guarantee-disposal-of-streams-even-when-conversion-throws-exceptions.cs new file mode 100644 index 0000000..b0ab7ff --- /dev/null +++ b/epub-converter/use-try-finally-block-to-guarantee-disposal-of-streams-even-when-conversion-throws-exceptions.cs @@ -0,0 +1,93 @@ +// Use a try‑finally block to guarantee disposal of streams even when conversion throws exceptions. + +using System; +using System.IO; +using System.Collections.Generic; +using Aspose.Html.IO; +using Aspose.Html.Saving; +using Aspose.Html.Converters; + +class MemoryStreamProvider : Aspose.Html.IO.ICreateStreamProvider, IDisposable +{ + public List Streams { get; } = new List(); + + public Stream GetStream(string name, string extension) + { + MemoryStream ms = new MemoryStream(); + Streams.Add(ms); + return ms; + } + + public Stream GetStream(string name, string extension, int page) + { + MemoryStream ms = new MemoryStream(); + Streams.Add(ms); + return ms; + } + + public void ReleaseStream(Stream stream) + { + if (stream != null) + { + stream.Flush(); + } + } + + public void Dispose() + { + foreach (MemoryStream ms in Streams) + { + ms.Dispose(); + } + } +} + +class Program +{ + static void Main() + { + try + { + string inputDir = "InputEpubs"; + string outputDir = "OutputXps"; + Directory.CreateDirectory(inputDir); + Directory.CreateDirectory(outputDir); + string[] files = Directory.GetFiles(inputDir, "*.epub"); + foreach (string inputPath in files) + { + try + { + Stream inputStream = null; + MemoryStreamProvider provider = null; + try + { + inputStream = File.OpenRead(inputPath); + provider = new MemoryStreamProvider(); + XpsSaveOptions options = new XpsSaveOptions(); + Aspose.Html.Converters.Converter.ConvertEPUB(inputStream, options, provider); + MemoryStream resultStream = provider.Streams[0]; + resultStream.Position = 0; + string outputPath = Path.Combine(outputDir, Path.GetFileNameWithoutExtension(inputPath) + ".xps"); + using (Stream output = File.Create(outputPath)) + { + resultStream.CopyTo(output); + } + } + finally + { + if (provider != null) provider.Dispose(); + if (inputStream != null) inputStream.Dispose(); + } + } + catch (Exception ex) + { + Console.WriteLine("Error processing " + Path.GetFileName(inputPath) + ": " + ex.Message); + } + } + } + catch (Exception ex) + { + Console.WriteLine("Fatal error: " + ex.Message); + } + } +} \ No newline at end of file diff --git a/epub-converter/use_custom_icreatestreamprovider_store_gif_output_directly_cloud_storage_bucket.cs b/epub-converter/use_custom_icreatestreamprovider_store_gif_output_directly_cloud_storage_bucket.cs deleted file mode 100644 index 76abb5a..0000000 --- a/epub-converter/use_custom_icreatestreamprovider_store_gif_output_directly_cloud_storage_bucket.cs +++ /dev/null @@ -1,94 +0,0 @@ -// Use a custom ICreateStreamProvider to store GIF output directly into a cloud storage bucket. - -using System; -using System.Collections.Generic; -using System.IO; -using Aspose.Html.IO; -using Aspose.Html.Saving; -using Aspose.Html.Rendering.Image; -using Aspose.Html.Converters; - -class MemoryStreamProvider : Aspose.Html.IO.ICreateStreamProvider, IDisposable -{ - private List _streams = new List(); - - public Stream GetStream(string name, string extension) - { - return GetStream(name, extension, 0); - } - - public Stream GetStream(string name, string extension, int page) - { - MemoryStream ms = new MemoryStream(); - _streams.Add(ms); - return ms; - } - - public void ReleaseStream(Stream stream) - { - // No disposal here to keep streams available for later reading - } - - public void Dispose() - { - foreach (var s in _streams) - { - s.Dispose(); - } - _streams.Clear(); - } - - public Stream GetFirstStream() - { - return _streams.Count > 0 ? _streams[0] : null; - } -} - -class Program -{ - static void Main() - { - try - { - string inputPath = "sample.epub"; - string outputPath = "cloud_bucket/sample.gif"; - - // Ensure input file exists (minimal placeholder) - if (!File.Exists(inputPath)) - { - Directory.CreateDirectory(Path.GetDirectoryName(inputPath)); - File.WriteAllBytes(inputPath, new byte[0]); - } - - // Ensure output directory exists (simulating cloud bucket) - Directory.CreateDirectory(Path.GetDirectoryName(outputPath)); - - using (FileStream epubStream = File.OpenRead(inputPath)) - { - ImageSaveOptions options = new ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Gif); - using (MemoryStreamProvider provider = new MemoryStreamProvider()) - { - Aspose.Html.Converters.Converter.ConvertEPUB(epubStream, options, provider); - Stream gifStream = provider.GetFirstStream(); - if (gifStream != null) - { - gifStream.Position = 0; - using (FileStream file = File.Create(outputPath)) - { - gifStream.CopyTo(file); - } - Console.WriteLine("GIF saved to: " + outputPath); - } - else - { - Console.WriteLine("No GIF stream was generated."); - } - } - } - } - catch (Exception ex) - { - Console.WriteLine("Error: " + ex.Message); - } - } -} \ No newline at end of file diff --git a/epub-converter/validate_generated_gif_file_exists_and_nonzero_size_after_conversion.cs b/epub-converter/validate-generated-gif-file-exists-non-zero-file-size-after-conversion.cs similarity index 70% rename from epub-converter/validate_generated_gif_file_exists_and_nonzero_size_after_conversion.cs rename to epub-converter/validate-generated-gif-file-exists-non-zero-file-size-after-conversion.cs index d17c4d8..3df7743 100644 --- a/epub-converter/validate_generated_gif_file_exists_and_nonzero_size_after_conversion.cs +++ b/epub-converter/validate-generated-gif-file-exists-non-zero-file-size-after-conversion.cs @@ -5,7 +5,6 @@ using Aspose.Html; using Aspose.Html.Saving; using Aspose.Html.Rendering.Image; -using Aspose.Html.Converters; class Program { @@ -25,12 +24,12 @@ static void Main(string[] args) } // Load the HTML document - HTMLDocument document = new HTMLDocument(htmlPath); + Aspose.Html.HTMLDocument document = new Aspose.Html.HTMLDocument(htmlPath); - // Set GIF conversion options - ImageSaveOptions options = new ImageSaveOptions(ImageFormat.Gif); + // Set up GIF conversion options + Aspose.Html.Saving.ImageSaveOptions options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Gif); - // Perform conversion + // Perform the conversion Aspose.Html.Converters.Converter.ConvertHTML(document, options, outputPath); // Validate the generated GIF file @@ -39,16 +38,16 @@ static void Main(string[] args) long fileSize = new FileInfo(outputPath).Length; if (fileSize > 0) { - Console.WriteLine("GIF conversion succeeded. File size: " + fileSize + " bytes."); + Console.WriteLine($"GIF conversion succeeded. File size: {fileSize} bytes."); } else { - Console.WriteLine("GIF conversion failed: generated file is empty."); + Console.WriteLine("GIF conversion failed: file size is zero."); } } else { - Console.WriteLine("GIF conversion failed: output file not found."); + Console.WriteLine("GIF conversion failed: file does not exist."); } } catch (Exception ex) diff --git a/epub-converter/validate-gif-file-header-gif89a-specification-after-conversion.cs b/epub-converter/validate-gif-file-header-gif89a-specification-after-conversion.cs new file mode 100644 index 0000000..cc0a9cc --- /dev/null +++ b/epub-converter/validate-gif-file-header-gif89a-specification-after-conversion.cs @@ -0,0 +1,40 @@ +// Validate that the GIF file header conforms to the GIF89a specification after conversion. + +namespace Example +{ + class Program + { + static void Main(string[] args) + { + try + { + string htmlContent = "

Hello, GIF!

"; + Aspose.Html.HTMLDocument document = new Aspose.Html.HTMLDocument(htmlContent, "about:blank"); + Aspose.Html.Saving.ImageSaveOptions options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Gif); + string outputPath = "output.gif"; + Aspose.Html.Converters.Converter.ConvertHTML(document, options, outputPath); + byte[] bytes = System.IO.File.ReadAllBytes(outputPath); + if (bytes.Length >= 6) + { + string header = System.Text.Encoding.ASCII.GetString(bytes, 0, 6); + if (header == "GIF89a") + { + System.Console.WriteLine("Valid GIF89a header."); + } + else + { + System.Console.WriteLine($"Invalid GIF header: {header}"); + } + } + else + { + System.Console.WriteLine("File too small to be a valid GIF."); + } + } + catch (System.Exception ex) + { + System.Console.WriteLine("Error: " + ex.Message); + } + } + } +} \ No newline at end of file diff --git a/epub-converter/validate_gif_file_header_conforms_to_gif89a_specification_after_conversion.cs b/epub-converter/validate_gif_file_header_conforms_to_gif89a_specification_after_conversion.cs deleted file mode 100644 index 53279db..0000000 --- a/epub-converter/validate_gif_file_header_conforms_to_gif89a_specification_after_conversion.cs +++ /dev/null @@ -1,60 +0,0 @@ -// Validate that the GIF file header conforms to the GIF89a specification after conversion. - -using System; -using System.IO; -using System.Text; -using Aspose.Html; -using Aspose.Html.Saving; -using Aspose.Html.Rendering.Image; - -class Program -{ - static void Main() - { - try - { - // Prepare sample HTML file - string htmlPath = "sample.html"; - string htmlContent = "

Hello, GIF!

"; - File.WriteAllText(htmlPath, htmlContent, Encoding.UTF8); - - // Define output GIF path - string outputPath = "output.gif"; - - // Load HTML document - Aspose.Html.HTMLDocument document = new Aspose.Html.HTMLDocument(htmlPath); - - // Set image save options for GIF - Aspose.Html.Saving.ImageSaveOptions options = new Aspose.Html.Saving.ImageSaveOptions(Aspose.Html.Rendering.Image.ImageFormat.Gif); - - // Convert HTML to GIF - Aspose.Html.Converters.Converter.ConvertHTML(document, options, outputPath); - - // Validate GIF header - using (FileStream stream = File.OpenRead(outputPath)) - { - byte[] headerBytes = new byte[6]; - int bytesRead = stream.Read(headerBytes, 0, headerBytes.Length); - if (bytesRead != headerBytes.Length) - { - Console.WriteLine("Failed to read GIF header."); - return; - } - - string header = System.Text.Encoding.ASCII.GetString(headerBytes); - if (header == "GIF89a") - { - Console.WriteLine("GIF header is valid (GIF89a)."); - } - else - { - Console.WriteLine($"Invalid GIF header: {header}"); - } - } - } - catch (Exception ex) - { - Console.WriteLine("Error: " + ex.Message); - } - } -} \ No newline at end of file diff --git a/epub-converter/verify-converter-releases-unmanaged-resources-checking-memory-usage-after-multiple-conversions.cs b/epub-converter/verify-converter-releases-unmanaged-resources-checking-memory-usage-after-multiple-conversions.cs new file mode 100644 index 0000000..7e34a37 --- /dev/null +++ b/epub-converter/verify-converter-releases-unmanaged-resources-checking-memory-usage-after-multiple-conversions.cs @@ -0,0 +1,87 @@ +// Verify that the Converter object releases unmanaged resources by checking memory usage after multiple conversions. + +using System; +using System.IO; +using System.Collections.Generic; +using Aspose.Html.IO; + +class CustomStreamProvider : Aspose.Html.IO.ICreateStreamProvider, System.IDisposable +{ + public System.Collections.Generic.List Streams { get; } = new System.Collections.Generic.List(); + public System.IO.Stream GetStream(string name, string extension) + { + System.IO.MemoryStream ms = new System.IO.MemoryStream(); + Streams.Add(ms); + return ms; + } + public System.IO.Stream GetStream(string name, string extension, int page) + { + System.IO.MemoryStream ms = new System.IO.MemoryStream(); + Streams.Add(ms); + return ms; + } + public void ReleaseStream(System.IO.Stream stream) + { + if (stream != null) + { + stream.Flush(); + } + } + public void Dispose() + { + foreach (System.IO.MemoryStream ms in Streams) + { + ms.Dispose(); + } + } +} + +class Program +{ + static void Main() + { + try + { + const string htmlContent = "

Hello World

"; + const string baseUri = "about:blank"; + const string outputPathTemplate = "output_{0}.pdf"; + + long initialMemory = System.GC.GetTotalMemory(true); + System.Console.WriteLine($"Initial memory: {initialMemory}"); + + for (int i = 0; i < 10; i++) + { + Aspose.Html.HTMLDocument document = new Aspose.Html.HTMLDocument(htmlContent, baseUri); + CustomStreamProvider provider = new CustomStreamProvider(); + Aspose.Html.Saving.PdfSaveOptions options = new Aspose.Html.Saving.PdfSaveOptions(); + + Aspose.Html.Converters.Converter.ConvertHTML(document, options, provider); + + System.IO.MemoryStream resultStream = provider.Streams[0]; + resultStream.Position = 0; + + string outputPath = string.Format(outputPathTemplate, i); + using (System.IO.FileStream fileStream = new System.IO.FileStream(outputPath, System.IO.FileMode.Create, System.IO.FileAccess.Write)) + { + resultStream.CopyTo(fileStream); + } + + provider.Dispose(); + document.Dispose(); + + System.GC.Collect(); + System.GC.WaitForPendingFinalizers(); + + long afterMemory = System.GC.GetTotalMemory(true); + System.Console.WriteLine($"Iteration {i + 1}, memory: {afterMemory}"); + } + + long finalMemory = System.GC.GetTotalMemory(true); + System.Console.WriteLine($"Final memory: {finalMemory}"); + } + catch (System.Exception ex) + { + System.Console.WriteLine($"Error: {ex.Message}"); + } + } +} \ No newline at end of file diff --git a/epub-converter/verify_converter_releases_unmanaged_resources_check_memory_usage_multiple_conversions.cs b/epub-converter/verify_converter_releases_unmanaged_resources_check_memory_usage_multiple_conversions.cs deleted file mode 100644 index 425ce4c..0000000 --- a/epub-converter/verify_converter_releases_unmanaged_resources_check_memory_usage_multiple_conversions.cs +++ /dev/null @@ -1,86 +0,0 @@ -// Verify that the Converter object releases unmanaged resources by checking memory usage after multiple conversions. - -using System; -using System.IO; -using System.Collections.Generic; -using Aspose.Html.IO; -using Aspose.Html.Saving; -using Aspose.Html.Converters; - -class CustomStreamProvider : Aspose.Html.IO.ICreateStreamProvider, IDisposable -{ - public List Streams { get; } = new List(); - - public Stream GetStream(string name, string extension) - { - MemoryStream ms = new MemoryStream(); - Streams.Add(ms); - return ms; - } - - public Stream GetStream(string name, string extension, int page) - { - MemoryStream ms = new MemoryStream(); - Streams.Add(ms); - return ms; - } - - public void ReleaseStream(Stream stream) - { - if (stream != null) - { - stream.Flush(); - } - } - - public void Dispose() - { - foreach (MemoryStream ms in Streams) - { - ms.Dispose(); - } - } -} - -class Program -{ - static void Main() - { - try - { - string htmlPath = "sample.html"; - if (!File.Exists(htmlPath)) - { - string htmlContent = "Test

Hello, Aspose.HTML!

"; - File.WriteAllText(htmlPath, htmlContent); - } - - int iterations = 10; - for (int i = 0; i < iterations; i++) - { - long before = GC.GetTotalMemory(true); - - using (CustomStreamProvider provider = new CustomStreamProvider()) - { - PdfSaveOptions options = new PdfSaveOptions(); - Aspose.Html.Converters.Converter.ConvertHTML(htmlPath, options, provider); - // Optionally, access the generated stream to ensure it's created - if (provider.Streams.Count > 0) - { - MemoryStream result = provider.Streams[0]; - result.Position = 0; - // Discard the content; just read length to ensure stream is usable - long length = result.Length; - } - } - - long after = GC.GetTotalMemory(true); - Console.WriteLine($"Iteration {i + 1}: Memory before = {before} bytes, after = {after} bytes, diff = {after - before} bytes"); - } - } - catch (Exception ex) - { - Console.WriteLine("Error: " + ex.Message); - } - } -} \ No newline at end of file