FreeSpire.PDFViewer 4.1.0

Install-Package FreeSpire.PDFViewer -Version 4.1.0
dotnet add package FreeSpire.PDFViewer --version 4.1.0
<PackageReference Include="FreeSpire.PDFViewer" Version="4.1.0" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add FreeSpire.PDFViewer --version 4.1.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: FreeSpire.PDFViewer, 4.1.0"
#r directive can be used in F# Interactive, C# scripting and .NET Interactive. Copy this into the interactive tool or source code of the script to reference the package.
// Install FreeSpire.PDFViewer as a Cake Addin
#addin nuget:?package=FreeSpire.PDFViewer&version=4.1.0

// Install FreeSpire.PDFViewer as a Cake Tool
#tool nuget:?package=FreeSpire.PDFViewer&version=4.1.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.

.NET Library for Viewing and Printing PDF Files


Product PageDocumentationExamplesForumTemporary LicenseCustomized Demo

Free Spire.PDFViewer for .NET is a Community Edition of the Spire.PDFViewer for .NET, which is a powerful viewer API for commercial and personal use.

By using Free Spire.PDFViewer for .NET, developers can view PDF/A-1B, PDF/X1A files and open and read encrypted PDF files.

Main Features

  • Load PDF from file, stream and byte array;
  • Support PDF/A-1B, PDF/X1A;
  • Enable to open and read encrypted PDF files;
  • Support multiple printing orientations: landscape, portrait, automatic;
  • Export PDFs to Image format as .bmp, .png, .jpeg;
  • Set PDF page (page down/up, zoom in/out, display as fit page).
  • Locate the root of the bookmarks and switch to target bookmark;
  • Support Rotation, Page layout setup and Thumbnail control;
  • Locate the PDF attachments which is marked in PDF, and save them to disk;
  • Four Viewing Patterns: Self-motion, Single page, Serious and Dynamic. Users can also switch over the four patterns.

Technical Features

  • Microsoft .NET 2.0, .NET 3.0, .NET 3.5, .NET 4.0 supported;
  • For Windows Form Only;
  • ASCIIHex decode, ASCII85 decode, Flate decode, LZW decode, Run Length decode, CCITTFax decode, DCT decode, JPX decode supported;
  • Developed entirely in C#, being 100% managed code;
  • Totally independent .NET control library. Does NOT require Adobe Reader or any other 3rd party software/library installed on system.

Export Documents to images

using System;
using System.Drawing;
using System.IO;
using System.Windows.Forms;

using Spire.PdfViewer.Forms;

namespace Spire.PdfView.Demos.Export
{
    class Program
    {
        private static PdfDocumentViewer viewer = null;

        [STAThread]
        static void Main(string[] args)
        {
            Application.EnableVisualStyles();
            Application.SetCompatibleTextRenderingDefault(false);

            viewer = new PdfDocumentViewer();
            viewer.LoadFromFile("PDFViewer.pdf");

            //form and child components
            Form mainForm = new Form();
            mainForm.Text = "Spire.PdfView Demo - Export";
            mainForm.Size = new System.Drawing.Size(800, 600);
            mainForm.StartPosition = FormStartPosition.CenterScreen;

            TableLayoutPanel table = new TableLayoutPanel();
            table.ColumnCount = 3;
            table.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 50));
            table.ColumnStyles.Add(new ColumnStyle(SizeType.Absolute, 20));
            table.ColumnStyles.Add(new ColumnStyle(SizeType.Percent, 50));
            table.RowCount = 2;
            table.RowStyles.Add(new RowStyle(SizeType.Percent, 100));
            table.RowStyles.Add(new RowStyle(SizeType.Absolute, 30));

            table.Controls.Add(viewer, 0, 0);
            table.SetColumnSpan(viewer, 3);
            viewer.Dock = DockStyle.Fill;

            //Export current page to one image
            Button button = new Button();
            button.Text = "Export to one image";
            button.Size = new Size(180, 24);
            button.TextAlign = ContentAlignment.MiddleCenter;
            table.Controls.Add(button, 0, 1);
            button.Dock = DockStyle.Right;
            button.Click += ExportToOneImage;

            //Export current pdf document to multiple images
            button = new Button();
            button.Text = "Export to multiple images";
            button.Size = new Size(180, 24);
            button.TextAlign = ContentAlignment.MiddleCenter;
            table.Controls.Add(button, 2, 1);
            button.Dock = DockStyle.Left;
            button.Click += ExportToMultipleImages;

            mainForm.Controls.Add(table);
            table.Dock = DockStyle.Fill;

            Application.Run(mainForm);
        }

        private static void ExportToOneImage(object sender, EventArgs e)
        {
            if (viewer.PageCount > 0)
            {
                SaveFileDialog dialog = new SaveFileDialog();
                dialog.Filter = "PNG Format(*.png)|*.png";
                if (dialog.ShowDialog() == DialogResult.OK)
                {
                    int currentPage = viewer.CurrentPageNumber;
                    Bitmap image = viewer.SaveAsImage(currentPage - 1);
                    image.Save(dialog.FileName);
                }
            }
        }

        private static void ExportToMultipleImages(object sender, EventArgs e)
        {
            if (viewer.PageCount > 0)
            {
                FolderBrowserDialog dialog = new FolderBrowserDialog();
                if (dialog.ShowDialog() == DialogResult.OK)
                {
                    int currentPage = viewer.CurrentPageNumber;
                    Bitmap[] images = viewer.SaveAsImage(0, currentPage - 1);
                    for (int i = 0; i < images.Length; i++)
                    {
                        String fileName = Path.Combine(dialog.SelectedPath, String.Format("PDFViewer-{0}.png", i));
                        images[i].Save(fileName);
                    }
                }
            }
        }
    }
}

Product PageDocumentationExamplesForumTemporary LicenseCustomized Demo

This package has no dependencies.

NuGet packages (1)

Showing the top 1 NuGet packages that depend on FreeSpire.PDFViewer:

Package Downloads
Kang.WPF.Frame

自己用的WPF轮子,封装好ORM + UI框架

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
4.1.0 51,034 1/24/2019
3.4.0 2,164 6/28/2018
2.4.35 16,625 2/4/2015