> On Tue, Oct 10, 2017 at 8:58 PM, Manuel Leuenberger
> <leuenberger@inf.unibe.ch> wrote:
> > Hi,
> >
> > I want to view a PDF within Pharo. I found that Athens has a PDF canvas, but I have no idea how to use it. Is there a way to view a PDF within Pharo, so that I can scroll, zoom, click links etc. in the PDF?
> >
> > Cheers,
> > Manuel


On Wed, Oct 11, 2017 at 3:04 AM, Stephane Ducasse <stepharo.self@gmail.com> wrote:
>
> Hi manuel
>
> So far I do not know if we have this is Pharo.
> I imagine that we would have to build a renderer once we will have the
> PDF reader from Christian library.
>
> Stef

A renderer will have great synergy with PDFTalk, but I think a proof of concept can be done independently.
I've been poking at this topic for a while looking for options.�� Coincidentally a couple of days I discovered the PDFium library.��
I haven't had time yet to give it a run, but it seems a good candidate since...
* Its a successful commercial product by Foxit built into Chrome converted to open source with Google's backing for use in Chromium
�� �� �� ��https://www.foxitsoftware.com/company/press.php?id=305 ��
* Its license is BSD style
�� �� �� ��https://github.com/hfiguiere/pdfium/tree/master/public
* Although written in C++ it has a C interface
�� �� �� https://github.com/hfiguiere/pdfium/blob/master/public/fpdfview.h
�� �� �� * Search here on ��" Function: " ��to skim through
�� �� �� * Proof of concept seems to only need these key functions... ��
�� �� �� �� �� * void �� ��FPDF_RenderPageBitmap( FPDF_BITMAP bitmap,FPDF_PAGE page, ... )
�� �� �� �� �� * FPDF_BITMAP �� ��FPDFBitmap_Create( int width, int height, int alpha);
�� �� �� �� �� * FPDF_PAGE �� FPDF_LoadPage �� ( FPDF_DOCUMENT document, int page_index )
�� �� �� �� �� * FPDF_DOCUMENT �� FPDF_LoadMemDocument �� ( const void* data_buf ... )
�� �� �� �� �� * void �� ��FPDF_InitLibrary () �� ��
* Has a concise getting started for POC...��
�� �� �� https://github.com/hfiguiere/pdfium/blob/master/docs/getting-started.md
* Maybe useful fork with V8 disabled by default��
�� �� �� https://github.com/klokantech/pdfium��
* Master repo here
�� �� �� https://pdfium.googlesource.com/pdfium/

So Pharo might load a PDF file into a ByteArray, pass that to FPDF_LoadMemDocument() & FPDF_LoadPage(),��
then get a bitmap back from FPDFBitmap_Create() & FPDF_RenderPageBitmap() and display the result in a Pharo window.

The rest of this week I'm working 12 hour days on a mine site.�� I could try it out once I'm home, but in the meantime is anyone else keen to try it?��

cheers -ben