Menu

Tree [ba5567] master /
 History

HTTPS access


File Date Author Commit
 COM Implementation 2017-10-18 Nate Nate [ba5567] 10-18-2017
 COM Interfaces 2017-10-18 Nate Nate [ba5567] 10-18-2017
 cSharpSample 2017-09-29 Nate Nate [067b04] 09-29-2017
 pdfium 2017-09-29 Nate Nate [067b04] 09-29-2017
 vbSample 2017-09-29 Nate Nate [067b04] 09-29-2017
 LICENSE 2017-10-18 Nate Nate [ba5567] 10-18-2017
 PDFium Control.sln 2017-09-29 Nate Nate [067b04] 09-29-2017
 PDFium Control.vcxproj 2017-10-06 Nate Nate [36ec6d] 10-06-2017
 PDFium Control.vcxproj.filters 2017-10-06 Nate Nate [36ec6d] 10-06-2017
 PDFiumControl.cpp 2017-10-18 Nate Nate [ba5567] 10-18-2017
 PDFiumControl.def 2017-09-29 Nate Nate [067b04] 09-29-2017
 PDFiumControl.h 2017-10-18 Nate Nate [ba5567] 10-18-2017
 PDFiumDocument.cpp 2017-10-18 Nate Nate [ba5567] 10-18-2017
 README.MD 2017-10-14 Nate Nate [2cef1a] 10-14-2017
 calcDimensions.cpp 2017-10-18 Nate Nate [ba5567] 10-18-2017
 htmlFooter.htm 2017-09-29 Nate Nate [067b04] 09-29-2017
 htmlHeader.htm 2017-09-29 Nate Nate [067b04] 09-29-2017
 htmlPage.htm 2017-09-29 Nate Nate [067b04] 09-29-2017
 resource.h 2017-10-18 Nate Nate [ba5567] 10-18-2017
 resources.rc 2017-10-18 Nate Nate [ba5567] 10-18-2017

Read Me

# InnoVisioNate PDFium Control

---
The PDFium Control object is an incredibly easy way to display __both__ PDF files AND HTML (or any file that Internet Explorer can display) in your windows application.

This control uses the MSHTML control internally - yet in this case ALL the complexity of hosting that control (which is significant) is done for you behind the scenes because it is built in to the PDFium Control.

For PDF documents, the control uses the google pdfium project to create bitmaps for each page, then it creates the appropriate HTML document for display.

Now - displaying documents could not be easier. Check out the vb and C# samples to see how, with one line of code - you can display any document (PDF or anything internet explorer can display) very easily.

This control is written with RAW COM - it is a perfect example of how easy it is to implement RAW COM, as opposed to using something like ATL or MFC. 

There are a large number of classes and source files here - however note carefully that these are mostly "boiler plate" - you can take these sources and turn just about anything into a real COM object very simply.

What this project demonstrates is what ATL and MFC are essentially doing for you behind the scenes - but more importantly, what this project shows is how easy it is to bypass the over-complexity of BOTH ATL and MFC - and put the incredible power of ALL of COM directly at your fingertips. This also means that you can integrate COM into existing software without needing to change any object model, AND that you can create your object model how you see fit, it does not have to be built on top of any framework.

### NOTE: To use this repository - please clone this one, AND the Common Repository at the root of some drive (so you will have a C:\Common and C:\PDFium-Control directory)

At some point, I may create an environment variable to "home" these projects, but for now, the project inter-relations among them rely on "\Common" visibility (note the drive letter does not matter).

All projects produce binary artifacts into "\Common\Artifacts\<configuration>\<platform>" 

---

Also, please navigate to the pdfium\lib\Debug\x64 (or similar location based on configuration and platform) directory, and unzip the pdfium.lib file in pdfium.zip to that location, It's a big lib file. At some point I will investigate removing components in it that aren't required for this project.

---
Want the latest updates on software, tech news, and AI?
Get latest updates about software, tech news, and AI from SourceForge directly in your inbox once a month.