These source code samples are assembled by their programming language and functions they use. ByteScout Premium Suite helps with rendering pdf to image in background thread with pdf renderer sdk in C#. ByteScout Premium Suite is the bundle that includes twelve SDK products from ByteScout including tools and components for PDF, barcodes, spreadsheets, screen video recording.
C# code snippet like this for ByteScout Premium Suite works best when you need to quickly implement rendering pdf to image in background thread with pdf renderer sdk in your C# application. Just copy and paste this C# sample code to your C# application’s code editor, add a reference to ByteScout Premium Suite (if you haven’t added yet) and you are ready to go! These C# sample examples can be used in one or many applications.
On our website you may get trial version of ByteScout Premium Suite for free. Source code samples are included to help you with your C# application.
  On-demand (REST Web API) version: 
   Web API (on-demand version)
  
  On-premise offline SDK for Windows: 
   60 Day Free Trial (on-premise)
      using System;
using System.IO;
using System.Threading;
using Bytescout.PDFRenderer;
namespace RenderingInBackgroundThread
{
    class Program
    {
        private static ManualResetEvent _doneEvent = new ManualResetEvent(false); // synchronization event
        private static int _counter; // thread counter
        static void Main(string[] args)
        {
            // Get all PDF files in current directory
            string[] pdfFiles = Directory.GetFiles(".", "*.pdf");
            _counter = pdfFiles.Length;
            // Render PDF files in separate threads
            foreach (string pdfFile in pdfFiles)
            {
                Thread backgroundThread = new Thread(BackgroundThreadProc);
                backgroundThread.Start(pdfFile);
                Console.WriteLine(pdfFile + " - conversion started.");
            }
            // Wait until threads finished
            _doneEvent.WaitOne();
            
            Console.WriteLine("Done.");
            Console.WriteLine();
            Console.WriteLine("Press any key to continue...");
            Console.ReadKey();
        }
        // Rendering thread function
        private static void BackgroundThreadProc(object data)
        {
            string fileName = (string) data;
            try
            {
                // Create renderer
                using (RasterRenderer renderer = new RasterRenderer())
                {
                    renderer.LoadDocumentFromFile(fileName);
                    
                    // Setup rendering
                    RenderingOptions renderingOptions = new RenderingOptions();
                    renderingOptions.JPEGQuality = 90;
                    float renderingResolution = 300;
                    
                    // Render document pages
                    for (int i = 0; i < renderer.GetPageCount(); i++)
                    {
                        renderer.Save(fileName + ".page" + i + ".jpg", RasterImageFormat.JPEG, i, renderingResolution, renderingOptions);
                    }
                }
                Console.WriteLine(fileName + " - successfully converted.");
            }
            catch (Exception exception)
            {
                Console.WriteLine(exception.ToString());
            }
            if (Interlocked.Decrement(ref _counter) == 0)
            {
                // Set event if all threads finished
                _doneEvent.Set();
            }
        }
    }
}
    
    60 Day Free Trial or Visit ByteScout Premium Suite Home Page
    
    Explore ByteScout Premium Suite Documentation
    
    Explore Samples
    
    Sign Up for ByteScout Premium Suite Online Training
    Get Your API Key
    
    Explore Web API Docs
    
    Explore Web API Samples    
60 Day Free Trial or Visit ByteScout Premium Suite Home Page
Explore ByteScout Premium Suite Documentation
Explore Samples
Sign Up for ByteScout Premium Suite Online Training
Get Your API Key
Explore Web API Docs
Explore Web API Samples
also available as: