.. wxPython Phoenix documentation

   This file was generated by Phoenix's sphinx generator and associated
   tools, do not edit by hand.

   Copyright: (c) 2011-2018 by Total Control Software
   License:   wxWindows License

.. include:: headings.inc

.. currentmodule:: wx.lib.pdfviewer.viewer

.. highlight:: python



.. _wx.lib.pdfviewer.viewer.pypdfProcessor:

==========================================================================================================================================
|phoenix_title|  **wx.lib.pdfviewer.viewer.pypdfProcessor**
==========================================================================================================================================

Create an instance of this class to open a PDF file, process the contents of
every page using PyPDF2 then render each one on demand



|

|class_hierarchy| Class Hierarchy
=================================

.. raw:: html

   <div id="toggleBlock" onclick="return toggleVisibility(this)" class="closed" style="cursor:pointer;">
   <img id="toggleBlock-trigger" src="_static/images/closed.png"/>
   Inheritance diagram for class <strong>pypdfProcessor</strong>:
   </div>
   <div id="toggleBlock-summary" style="display:block;"></div>
   <div id="toggleBlock-content" style="display:none;">
   <p class="graphviz">
   <center><img src="_static/images/inheritance/wx.lib.pdfviewer.viewer.pypdfProcessor_inheritance.png" alt="Inheritance diagram of pypdfProcessor" usemap="#dummy" class="inheritance"/></center>
   </div>
   <script type="text/javascript">toggleVisibilityOnLoad(document.getElementById('toggleBlock'))</script>
   <map id="dummy" name="dummy"> <area shape="rect" id="node1" href="wx.lib.pdfviewer.viewer.pypdfProcessor.html" title="wx.lib.pdfviewer.viewer.pypdfProcessor" alt="" coords="5,5,269,35"/> </map> 
   </p>

|


|method_summary| Methods Summary
================================

================================================================================ ================================================================================
:meth:`~wx.lib.pdfviewer.viewer.pypdfProcessor.__init__`                         
:meth:`~wx.lib.pdfviewer.viewer.pypdfProcessor.AddBitmap`                        Add wx.Bitmap from data, processed by filters.
:meth:`~wx.lib.pdfviewer.viewer.pypdfProcessor.ConvertCMYK`                      Convert CMYK values (0 to 1.0) in operand to nearest RGB.
:meth:`~wx.lib.pdfviewer.viewer.pypdfProcessor.DrawFile`                         Build set of drawing commands from PDF contents. Ideally these could be drawn
:meth:`~wx.lib.pdfviewer.viewer.pypdfProcessor.DrawPath`                         Stroke and/or fill the defined path depending on operator.
:meth:`~wx.lib.pdfviewer.viewer.pypdfProcessor.DrawTextItem`                     Draw a text item.
:meth:`~wx.lib.pdfviewer.viewer.pypdfProcessor.DrawTextString`                   Draw a text string. Word spacing only works for horizontal text.
:meth:`~wx.lib.pdfviewer.viewer.pypdfProcessor.FetchFonts`                       Return the standard fonts in current page or form
:meth:`~wx.lib.pdfviewer.viewer.pypdfProcessor.InlineImage`                      operand contains an image
:meth:`~wx.lib.pdfviewer.viewer.pypdfProcessor.InsertXObject`                    XObject can be an image or a 'form' (an arbitrary PDF sequence).
:meth:`~wx.lib.pdfviewer.viewer.pypdfProcessor.ProcessOperators`                 Interpret each operation in opslist and return in drawlist.
:meth:`~wx.lib.pdfviewer.viewer.pypdfProcessor.Progress`                         This function is called at regular intervals during Drawfile
:meth:`~wx.lib.pdfviewer.viewer.pypdfProcessor.RenderPage`                       Render the set of pagedrawings
:meth:`~wx.lib.pdfviewer.viewer.pypdfProcessor.SetFont`                          Returns :class:`wx.Font` instance from supplied pdf font information.
================================================================================ ================================================================================


|


|api| Class API
===============


.. class:: pypdfProcessor(object)

   Create an instance of this class to open a PDF file, process the contents of
   every page using PyPDF2 then render each one on demand

   .. method:: __init__(self, parent, fileobj, showloadprogress)


   .. method:: AddBitmap(self, data, width, height, filters)

      Add wx.Bitmap from data, processed by filters.


   .. method:: ConvertCMYK(self, operand)

      Convert CMYK values (0 to 1.0) in operand to nearest RGB.


   .. method:: DrawFile(self, frompage, topage)

      Build set of drawing commands from PDF contents. Ideally these could be drawn
      straight into a PseudoDC and the visible section painted directly into
      scrolled window, but we need to be able to zoom and scale the output quickly
      without having to rebuild the drawing commands (slow). So build our
      own command lists, one per page, into self.pagedrawings.


   .. method:: DrawPath(self, path, action)

      Stroke and/or fill the defined path depending on operator.


   .. method:: DrawTextItem(self, textitem, f)

      Draw a text item.
      
      :param `textitem`: the item to draw
      :param `f`: the font to use for text extent measuring


   .. method:: DrawTextString(self, text)

      Draw a text string. Word spacing only works for horizontal text.
      
      :param string `text`: the text to draw


   .. method:: FetchFonts(self, currentobject)

      Return the standard fonts in current page or form


   .. method:: InlineImage(self, operand)

      operand contains an image


   .. method:: InsertXObject(self, name)

      XObject can be an image or a 'form' (an arbitrary PDF sequence).


   .. method:: ProcessOperators(self, opslist, pdf_fonts)

      Interpret each operation in opslist and return in drawlist.


   .. method:: Progress(self, ptype, value)

      This function is called at regular intervals during Drawfile


   .. method:: RenderPage(self, gc, pageno, scale=None)

      Render the set of pagedrawings
      In a pdf file, bitmaps are treated as being of unit width and height and
      are scaled via a previous ConcatTransform containing the corresponding width
      and height as scale factors. wx.GraphicsContext/Cairo appear not to respond to
      this so scaling is removed from transform and width & height are added
      to the Drawbitmap call.


   .. method:: SetFont(self, pdfont, size)

      Returns :class:`wx.Font` instance from supplied pdf font information.


