• This repository has been archived on 02/Aug/2019
  • Stars
    star
    934
  • Rank 46,982 (Top 1.0 %)
  • Language
    C#
  • License
    Apache License 2.0
  • Created over 9 years ago
  • Updated almost 3 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

PDF viewer based on Google's PDFium.

PdfiumViewer

Apache 2.0 License.

Download from NuGet.

Archived

I regret to announce I'm archiving this project. I haven't been able to spend any real time on this for a long time now, and must face the fact I'm not in a position to properly support this project.

I understand that even though I haven't been able to spend time, other developers have stepped in helping out answering issues, and archiving this project will make it more difficult finding help using PdfiumViewer. I'm sorry for this inconvenience.

Together with archiving this project, I will also be archiving the PdfiumBuild project. I'll make a number of successful builds available in the PdfiumBuild repository for anyone who needs them, but the build server will be shutdown as part of archiving these projects.

I've had a great time developing this project and helping you out using this project, and I'm sad I have to now close this down. I hope PdfiumViewer has been of value to you. The source code and NuGet packages won't be going anywhere, so keep using them if they're of value to you.

Introduction

PdfiumViewer is a PDF viewer based on the PDFium project.

PdfiumViewer provides a number of components to work with PDF files:

  • PdfDocument is the base class used to render PDF documents;

  • PdfRenderer is a WinForms control that can render a PdfDocument;

  • PdfiumViewer is a WinForms control that hosts a PdfRenderer control and adds a toolbar to save the PDF file or print it.

Compatibility

The PdfiumViewer library has been tested with Windows XP and Windows 8, and is fully compatible with both. However, the native PDFium libraries with V8 support do not support Windows XP. See below for instructions on how to reference the native libraries.

Using the library

The PdfiumViewer control requires native PDFium libraries. These are not included in the PdfiumViewer NuGet package. See the Installation instructions Wiki page for more information on how to add these.

Note on the PdfViewer control

The PdfiumViewer library primarily consists out of three components:

  • The PdfViewer control. This control provides a host for the PdfRenderer control and has a default toolbar with limited functionality;
  • The PdfRenderer control. This control implements the raw PDF renderer. This control displays a PDF document, provides zooming and scrolling functionality and exposes methods to perform more advanced actions;
  • The PdfDocument class provides access to the PDF document and wraps the Pdfium library.

The PdfViewer control should only be used when you have a very simple use case and where the buttons available on the toolbar provide enough functionality for you. This toolbar will not be extended with new buttons or with functionality to hide buttons. The reason for this is that the PdfViewer control is just meant to get you started. If you need more advanced functionality, you should create your own control with your own toolbar, e.g. by starting out with the PdfViewer control. Also, because people currently are already using the PdfViewer control, adding more functionality to this toolbar would be a breaking change. See issue #41 for more information.

Building PDFium

Instructions to build the PDFium library can be found on the Building PDFium wiki page. However, if you are just looking to use the PdfiumViewer component or looking for a compiled version of PDFium, these steps are not required. NuGet packages with precompiled PDFium libraries are made available for usage with PdfiumViewer. See the chapter on Using the library for more information.

Alternatively, the PdfiumBuild project is provided to automate building PDFium. This project contains scripts to build PdfiumViewer specific versions of the PDFium library. This project is configured on a build server to compile PDFium daily. Please refer to the PdfiumBuild project page for the location of the output of the build server. The PdfiumViewer specific libraries are located in the PdfiumViewer-... target directories.

Bugs

Bugs should be reported through github at http://github.com/pvginkel/PdfiumViewer/issues.

License

PdfiumViewer is licensed under the Apache 2.0 license. See the license details for how PDFium is licensed.

More Repositories

1

NHttp

Simple asynchronous .NET HTTP server
C#
108
star
2

PdfiumBuild

Build scripts for the PDFium library.
C#
68
star
3

Expressions

Expression parser for C#, Flee and Visual Basic
C#
40
star
4

PdfViewer

.NET PDF viewer based on Chrome pdf.dll and xPDF
C#
36
star
5

CSharpSyntax

C# code generator based on the Roslyn API
C#
33
star
6

NHibernate.OData

OData parser for NHibernate.
C#
32
star
7

ProgressEncode

Implementation of the Progress OpenEdge ENCODE algorithm
C#
27
star
8

Microsoft.CodeAnalysis.CSharp.PatternMatching

Pattern matching for Roslyn syntax trees
C#
27
star
9

PipeRPC

Simple, fast, JSON based RPC protocol for communicating with external processes using anonymous named pipes.
C#
26
star
10

SystemEx

Collection of utilities for working with .NET and WinForms.
C#
25
star
11

ChromePdfViewer

.NET PDF viewer based on Chrome pdf.dll
C#
12
star
12

AutoMiner

Minecraft automatic miner for finding the best mining strategy
Java
11
star
13

graalvm-python-performance

GraalVM Python Performance
Python
9
star
14

XPdfNet

.NET wrapper for xPDF based on PDFLibNet
C
9
star
15

strtod

A high precision floating point implementation for Rust
Rust
7
star
16

NuGetUpdate

Setup and update system using NuGet as a deployment platform.
C#
7
star
17

VisualGit

Visual Studio source control extensions for Git
C#
7
star
18

CustomChrome

Library to ease adding custom chrome to a form with an implementation for the Visual Studio 2012 chrome
C#
6
star
19

ConvertAllToMp3

Convert all WAV files in a directory to MP3 using the LAME MP3 encoder.
C#
6
star
20

CrashReporter.NET

CrashCollector .NET library
C#
5
star
21

ApplicationHost

WinForms control for hosting .NET applications inside another .NET application
C#
5
star
22

ProtoVariant

VARIANT implementation in protobuf-net
C#
3
star
23

InMemCached

In process .NET MemCached-ish library.
C#
3
star
24

Tweakkit-Server

Form from http://www.afterkraft.net/tweakkit/tweakkit-server/
Java
3
star
25

FastProxy

Simple, fast, hackable, .NET proxy server for load testing and unit testing.
C#
3
star
26

JintDebugger

Debugger for Jint.
C#
2
star
27

GitVarInt

Variable length integer encoding based on Git VarInt and Protobuf ZigZag encoding.
C#
2
star
28

CrashCollector

CrashCollector AppEngine website
Java
2
star
29

ExtractPdfImages

Simple console app to extract images from PDF files using iTextSharp
C#
1
star
30

DapperContext

Automatic transaction management for Dapper
C#
1
star
31

GZipPullStream

GZipStream that allows reading compressed content, useful in e.g. ASP.NET MVC and ASP.NET Core MVC.
C#
1
star
32

ZigBeeHomeAutomation

Zigbee Home Automation implementation for Arduino
C++
1
star
33

HailStorm

XSD's for the Microsoft HailStorm project.
1
star
34

truss-compiler

C#
1
star
35

MoshRunner

Simple application to run the MSys2 version of Mosh
C#
1
star
36

ZendeskExcelExport

Simple application to export all end user requests from Zendesk
C#
1
star
37

Q2ANotify

Windows desktop notifications for Question2Answer
C#
1
star
38

ConvertWebPToJPeg

Convert WebP images to JPeg
C#
1
star
39

NTranslate

Translation application and build task for .NET WinForms applications
C#
1
star