A guide to using PandaMichaelStill2002Michael Still Introduction Panda is a PDF generation API developed by Michael Still. It is released under the terms of the GNU GPL, which might affect your commerical use of this product. Please check the file labelled COPYING in the source distribution before relying on this product for your commercial activities. ...more content here... libpngDummyFlushProc.sgml libpngDummyFlushProc 3 libpngDummyFlushProc mangle libpng to do image conversion in memory without temportary files void libpngDummyFlushProc(png_structp png); DESCRIPTION PANDA INTERNAL. This call implements a dummy flush proceedure for libpng. This is needed so that Panda can get at the compressed PNG data, whilst converting it on the fly from unsupported PNG variants, and while not having to deal with temporary files. PDF documents only need the content of the IDAT chunks within the PNG file, and this method eases gaining access to those chunks. RETURNS Zero EXAMPLE ee panda_insertPNG for an example usage SEE ALSO panda_insertPNG, libpngDummyReadProc, libpngDummyWriteProc VERSION This documentation was generated for Panda 0.4.2 by autodocbook (http://www.stillhq.com). AUTHOR Panda is under development by Michael Still (mikal@stillhq.com). All code is Copyright Michael Still 2000 and 2001, and is released under the GNU GPL. Code submissions are welcomed. Contact Michael at the address above if you have something you would like to contribute. BUGS There are no known bugs in Panda. If you find one, please contact mikal@stillhq.com and let me know. libpngDummyWriteProc.sgml libpngDummyWriteProc 3 libpngDummyWriteProc mangle libpng to do image conversion in memory without temportary files void libpngDummyWriteProc(png_structp png, png_bytep data, png_uint_32 len); DESCRIPTION PANDA INTERNAL. This call implements a dummy write proceedure for libpng. This is needed so that Panda can get at the compressed PNG data, whilst converting it on the fly from unsupported PNG variants, and while not having to deal with temporary files. PDF documents only need the content of the IDAT chunks within the PNG file, and this method eases gaining access to those chunks. RETURNS Zero EXAMPLE ee panda_insertPNG for an example usage SEE ALSO panda_insertPNG, libpngDummyReadProc, libpngDummyFlushProc VERSION This documentation was generated for Panda 0.4.2 by autodocbook (http://www.stillhq.com). AUTHOR Panda is under development by Michael Still (mikal@stillhq.com). All code is Copyright Michael Still 2000 and 2001, and is released under the GNU GPL. Code submissions are welcomed. Contact Michael at the address above if you have something you would like to contribute. BUGS There are no known bugs in Panda. If you find one, please contact mikal@stillhq.com and let me know. libtiffDummyCloseProc.sgml libtiffDummyCloseProc 3 libtiffDummyCloseProc mangle libtiff to do image conversion in memory without temportary files static int libtiffDummyCloseProc (thandle_t); DESCRIPTION PANDA INTERNAL. This call implements a dummy close procedure for libtiff to allow for the conversion of TIFF images on the fly in memory without the use of temporary files. It is an internal call and should NEVER be called by users of the API. RETURNS Zero EXAMPLE ee panda_insertTIFF for an example usage SEE ALSO panda_insertTIFF, libtiffDummWriteProc VERSION This documentation was generated for Panda 0.4.2 by autodocbook (http://www.stillhq.com). AUTHOR Panda is under development by Michael Still (mikal@stillhq.com). All code is Copyright Michael Still 2000 and 2001, and is released under the GNU GPL. Code submissions are welcomed. Contact Michael at the address above if you have something you would like to contribute. BUGS There are no known bugs in Panda. If you find one, please contact mikal@stillhq.com and let me know. libtiffDummyReadProc.sgml libtiffDummyReadProc 3 libtiffDummyReadProc mangle libtiff to do image conversion in memory without temportary files static tsize_t libtiffDummyReadProc (thandle_t fd, tdata_t buf, tsize_t size); DESCRIPTION PANDA INTERNAL. This call implements a dummy read procedure for libtiff to allow for the conversion of TIFF images on the fly in memory without the use of temporary files. It is an internal call and should NEVER be called by users of the API. RETURNS The amount of data read EXAMPLE ee panda_insertTIFF for an example usage SEE ALSO panda_insertTIFF, libtiffDummWriteProc VERSION This documentation was generated for Panda 0.4.2 by autodocbook (http://www.stillhq.com). AUTHOR Panda is under development by Michael Still (mikal@stillhq.com). All code is Copyright Michael Still 2000 and 2001, and is released under the GNU GPL. Code submissions are welcomed. Contact Michael at the address above if you have something you would like to contribute. BUGS There are no known bugs in Panda. If you find one, please contact mikal@stillhq.com and let me know. libtiffDummySeekProc.sgml libtiffDummySeekProc 3 libtiffDummySeekProc mangle libtiff to doc image conversion in memory without temportary files static toff_t libtiffDummySeekProc (thandle_t, toff_t off, int i); DESCRIPTION PANDA INTERNAL. This call implements a dummy seek procedure for libtiff to allow for the conversion of TIFF images on the fly in memory without the use of temporary files. It is an internal call and should NEVER be called by users of the API. RETURNS Where the seek took us to EXAMPLE ee panda_insertTIFF for an example usage SEE ALSO panda_insertTIFF, libtiffDummWriteProc VERSION This documentation was generated for Panda 0.4.2 by autodocbook (http://www.stillhq.com). AUTHOR Panda is under development by Michael Still (mikal@stillhq.com). All code is Copyright Michael Still 2000 and 2001, and is released under the GNU GPL. Code submissions are welcomed. Contact Michael at the address above if you have something you would like to contribute. BUGS There are no known bugs in Panda. If you find one, please contact mikal@stillhq.com and let me know. libtiffDummyWriteProc.sgml libtiffDummyWriteProc 3 libtiffDummyWriteProc mangle libtiff to do image conversion in memory without temportary files static tsize_t libtiffDummyWriteProc (thandle_t fd, tdata_t buf, tsize_t size); DESCRIPTION PANDA INTERNAL. This call implements a dummy write procedure for libtiff to allow for the conversion of TIFF images on the fly in memory without the use of temporary files. It is an internal call and should NEVER be called by users of the API. RETURNS The amount of daat written EXAMPLE ee panda_insertTIFF for an example usage SEE ALSO panda_insertTIFF, libtiffDummWriteProc VERSION This documentation was generated for Panda 0.4.2 by autodocbook (http://www.stillhq.com). AUTHOR Panda is under development by Michael Still (mikal@stillhq.com). All code is Copyright Michael Still 2000 and 2001, and is released under the GNU GPL. Code submissions are welcomed. Contact Michael at the address above if you have something you would like to contribute. BUGS There are no known bugs in Panda. If you find one, please contact mikal@stillhq.com and let me know. panda_addchild.sgml panda_addchild 3 panda_addchild add an object to the object tree #include<panda/constants.h> #include<panda/functions.h> void panda_addchild (panda_object *parent, panda_object *child); DESCRIPTION PANDA INTERNAL. Once an object has been created with panda_newobject() it is added to the object tree with this call. This ensures it is written out to disc via panda_writeobject() when panda_close() is called. RETURNS None EXAMPLE #include<panda/constants.h> #include<panda/functions.h> panda_pdf *document; panda_object *obj, *obj2; panda_init(); document = panda_open("filename.pdf", "w"); obj = panda_newobject(document, panda_object_normal); obj2 = panda_newobject(document, panda_object_normal); panda_addhild(obj, obj2); SEE ALSO panda_newobject, panda_freeobject, panda_writeobject, panda_traverseobjects VERSION This documentation was generated for Panda 0.4.2 by autodocbook (http://www.stillhq.com). AUTHOR Panda is under development by Michael Still (mikal@stillhq.com). All code is Copyright Michael Still 2000 and 2001, and is released under the GNU GPL. Code submissions are welcomed. Contact Michael at the address above if you have something you would like to contribute. BUGS There are no known bugs in Panda. If you find one, please contact mikal@stillhq.com and let me know. panda_addcubiccurvesegment.sgml panda_addcubiccurvesegment 3 panda_addcubiccurvesegment add a curved segment to the line shape we are drawing #include<panda/constants.h> #include<panda/functions.h> void panda_addcubiccurvesegment (panda_page * target, int x, int y, int cx1, int cy1, int cx2, int cy2); DESCRIPTION Add a point to the shape we are currently drawing with a cubic curve between the current cursor location and (x,y). There are two control points used to generate the cubic curve. They are (cx1, cy1) and (cx2, cy2). RETURNS Nothing EXAMPLE #include<panda/constants.h> #include<panda/functions.h> panda_pdf *document; panda_page *page; panda_init(); document = panda_open("filename.pdf", "w"); page = panda_newpage (document, panda_pagesize_a4); panda_setlinestart (currPage, 210, 210); panda_addcubiccurvesegment (currPage, 310, 210, 225, 300, 275, 400); SEE ALSO panda_setlinestart, panda_addlinesegment, panda_addquadraticsegmentone, panda_addquadraticcurvesegmenttwo, panda_closeline, panda_rectangle, panda_endline, panda_strokeline, panda_fillline, panda_setlinewidth, panda_setlinecap, panda_setlinejoin, panda_setlinedash, panda_setfillcolor, panda_setlinecolor VERSION This documentation was generated for Panda 0.4.2 by autodocbook (http://www.stillhq.com). AUTHOR Panda is under development by Michael Still (mikal@stillhq.com). All code is Copyright Michael Still 2000 and 2001, and is released under the GNU GPL. Code submissions are welcomed. Contact Michael at the address above if you have something you would like to contribute. BUGS There are no known bugs in Panda. If you find one, please contact mikal@stillhq.com and let me know. panda_addlinesegment.sgml panda_addlinesegment 3 panda_addlinesegment add a straight segment to the line shape we are drawing #include<panda/constants.h> #include<panda/functions.h> void panda_addlinesegment (panda_page * target, int x, int y); DESCRIPTION Add a point to the shape we are currently drawing with a straight line between the current cursor location and (x,y). RETURNS Nothing EXAMPLE #include<panda/constants.h> #include<panda/functions.h> panda_pdf *document; panda_page *page; panda_init(); document = panda_open("filename.pdf", "w"); page = panda_newpage (document, panda_pagesize_a4); panda_setlinestart (page, 100, 200); panda_addlinesegment (page, 200, 200); SEE ALSO panda_setlinestart, panda_addcubiccurvesegment, panda_addquadraticsegmentone, panda_addquadraticcurvesegmenttwo, panda_closeline, panda_rectangle, panda_endline, panda_strokeline, panda_fillline, panda_setlinewidth, panda_setlinecap, panda_setlinejoin, panda_setlinedash, panda_setfillcolor, panda_setlinecolor VERSION This documentation was generated for Panda 0.4.2 by autodocbook (http://www.stillhq.com). AUTHOR Panda is under development by Michael Still (mikal@stillhq.com). All code is Copyright Michael Still 2000 and 2001, and is released under the GNU GPL. Code submissions are welcomed. Contact Michael at the address above if you have something you would like to contribute. BUGS There are no known bugs in Panda. If you find one, please contact mikal@stillhq.com and let me know. panda_addquadraticcurvesegmentone.sgml panda_addquadraticcurvesegmentone 3 panda_addquadraticcurvesegmentone add a curved segment to the line shape that we are drawing #include<panda/constants.h> #include<panda/functions.h> void panda_addquadraticcurvesegmentone (panda_page * target, int x, int y, int cx1, int cy1); DESCRIPTION This function adds a curved segment to the line shape that we are drawing. The curved segment has a control point, namely (cx1, cy1). This call creates slightly different curves from panda_addquadraticcurvesegmenttwo(); RETURNS Nothing EXAMPLE #include<panda/constants.h> #include<panda/functions.h> panda_pdf *document; panda_page *page; panda_init(); document = panda_open("filename.pdf", "w"); page = panda_newpage (document, panda_pagesize_a4); panda_setlinestart (page, 100, 200); panda_addquadraticcurvesegmentone (page, 200, 200, 12, 32); SEE ALSO panda_setlinestart, panda_addlinesegment, panda_addcubiccurvesegment, panda_addquadraticcurvesegmenttwo, panda_closeline, panda_rectangle, panda_endline, panda_strokeline, panda_fillline, panda_setlinewidth, panda_setlinecap, panda_setlinejoin, panda_setlinedash, panda_setfillcolor, panda_setlinecolor VERSION This documentation was generated for Panda 0.4.2 by autodocbook (http://www.stillhq.com). AUTHOR Panda is under development by Michael Still (mikal@stillhq.com). All code is Copyright Michael Still 2000 and 2001, and is released under the GNU GPL. Code submissions are welcomed. Contact Michael at the address above if you have something you would like to contribute. BUGS There are no known bugs in Panda. If you find one, please contact mikal@stillhq.com and let me know. panda_addquadraticcurvesegmenttwo.sgml panda_addquadraticcurvesegmenttwo 3 panda_addquadraticcurvesegmenttwo add a curved segment to the line shape that we are drawing #include<panda/constants.h> #include<panda/functions.h> void panda_addquadraticcurvesegmenttwo (panda_page * target, int x, int y, int cx1, int cy1); DESCRIPTION This function adds a curved segment to the line shape that we are drawing. The curved segment has a control point, namely (cx1, cy1). This call creates slightly different curves from panda_addquadraticcurvesegmentone(); RETURNS Nothing EXAMPLE #include<panda/constants.h> #include<panda/functions.h> panda_pdf *document; panda_page *page; panda_init(); document = panda_open("filename.pdf", "w"); page = panda_newpage (document, panda_pagesize_a4); panda_setlinestart (page, 100, 200); panda_addquadraticcurvesegmenttwo (page, 200, 200, 12, 32); SEE ALSO panda_setlinestart, panda_addlinesegment, panda_addcubiccurvesegment, panda_addquadraticcurvesegmenttwo, panda_closeline, panda_rectangle, panda_endline, panda_strokeline, panda_fillline, panda_setlinewidth, panda_setlinecap, panda_setlinejoin, panda_setlinedash, panda_setfillcolor, panda_setlinecolor VERSION This documentation was generated for Panda 0.4.2 by autodocbook (http://www.stillhq.com). AUTHOR Panda is under development by Michael Still (mikal@stillhq.com). All code is Copyright Michael Still 2000 and 2001, and is released under the GNU GPL. Code submissions are welcomed. Contact Michael at the address above if you have something you would like to contribute. BUGS There are no known bugs in Panda. If you find one, please contact mikal@stillhq.com and let me know. panda_applytemplate.sgml panda_applytemplate 3 panda_applytemplate use a template page previously created #include<panda/constants.h> #include<panda/functions.h> void panda_applytemplate (panda_pdf * output, panda_page * target, panda_page * template) DESCRIPTION This function is used to use a template created with the panda_newtemplate function call. RETURNS Nothing EXAMPLE #include<panda/constants.h> #include<panda/functions.h> panda_pdf *document; panda_page *templatepage, *realpage; panda_init(); document = panda_open("filename.pdf", "w"); templatepage = panda_newtemplate (document, panda_pagesize_a4); realpage = panda_newpage (document, panda_pagesize_a4); ... the order of the drawing commands to the two pages doesn't matter ... panda_applytemplate(document, realpage, templatepage); SEE ALSO panda_newpage, panda_newtemplate VERSION This documentation was generated for Panda 0.4.2 by autodocbook (http://www.stillhq.com). AUTHOR Panda is under development by Michael Still (mikal@stillhq.com). All code is Copyright Michael Still 2000 and 2001, and is released under the GNU GPL. Code submissions are welcomed. Contact Michael at the address above if you have something you would like to contribute. BUGS There are no known bugs in Panda. If you find one, please contact mikal@stillhq.com and let me know. panda_centerwindow.sgml panda_centerwindow 3 panda_centerwindow ask the viewer to center the document's window on the screen when the PDF is displayed #include<panda/constants.h> #include<panda/functions.h> void panda_centerwindow (panda_pdf *document, int onoroff); DESCRIPTION This function records information in the output PDF document requesting that the viewing application center the displayed PDF document on the screen when it is opened. This option is not supported by all viewers, and therefore should not be relied upon. The on or off arguement is a panda_true value, which does the obvious thing. The default is to not center the window. RETURNS Nothing EXAMPLE #include<panda/constants.h> #include<panda/functions.h> panda_pdf *document; panda_init(); document = panda_open("filename.pdf", "w"); panda_centerwindow(document, panda_true); VERSION This documentation was generated for Panda 0.4.2 by autodocbook (http://www.stillhq.com). AUTHOR Panda is under development by Michael Still (mikal@stillhq.com). All code is Copyright Michael Still 2000 and 2001, and is released under the GNU GPL. Code submissions are welcomed. Contact Michael at the address above if you have something you would like to contribute. BUGS There are no known bugs in Panda. If you find one, please contact mikal@stillhq.com and let me know. panda_checkinfo.sgml panda_checkinfo 3 panda_checkinfo ensure an info object exists #include<panda/constants.h> #include<panda/functions.h> void panda_checkinfo (panda_pdf *output); DESCRIPTION PANDA INTERNAL. This function call ensures that the info object exists inside the PDF document so that information may be safely added. This function call is unlikely to be needed by users of the API because it is used whenever one of the info object functions is called by the Panda code itself. RETURNS Nothing EXAMPLE #include<panda/constants.h> #include<panda/functions.h> panda_pdf *document; panda_init(); document = panda_open("filename.pdf", "w"); panda_checkinfo(document); SEE ALSO panda_setauthor, panda_setcreator, panda_settitle, panda_setsubject, panda_setkeywords VERSION This documentation was generated for Panda 0.4.2 by autodocbook (http://www.stillhq.com). AUTHOR Panda is under development by Michael Still (mikal@stillhq.com). All code is Copyright Michael Still 2000 and 2001, and is released under the GNU GPL. Code submissions are welcomed. Contact Michael at the address above if you have something you would like to contribute. BUGS There are no known bugs in Panda. If you find one, please contact mikal@stillhq.com and let me know. panda_closeline.sgml panda_closeline 3 panda_closeline close off the line shape we are drawing #include<panda/constants.h> #include<panda/functions.h> void panda_closeline(panda_page * target); DESCRIPTION Close the line shape we are drawing by returning to the starting point as set by panda_setlinestart(); RETURNS Nothing EXAMPLE #include<panda/constants.h> #include<panda/functions.h> panda_pdf *document; panda_page *page; panda_init(); document = panda_open("filename.pdf", "w"); page = panda_newpage (document, panda_pagesize_a4); panda_setlinestart (page, 100, 200); panda_addlinesegment (page, 200, 200); panda_addlinesegment (page, 400, 300); panda_closeline (page); SEE ALSO panda_setlinestart, panda_addlinesegment, panda_addcubiccurvesegment, panda_addquadraticsegmentone, panda_addquadraticcurvesegmenttwo, panda_rectangle, panda_endline, panda_strokeline, panda_fillline, panda_setlinewidth, panda_setlinecap, panda_setlinejoin, panda_setlinedash, panda_setfillcolor, panda_setlinecolor VERSION This documentation was generated for Panda 0.4.2 by autodocbook (http://www.stillhq.com). AUTHOR Panda is under development by Michael Still (mikal@stillhq.com). All code is Copyright Michael Still 2000 and 2001, and is released under the GNU GPL. Code submissions are welcomed. Contact Michael at the address above if you have something you would like to contribute. BUGS There are no known bugs in Panda. If you find one, please contact mikal@stillhq.com and let me know. panda_close.sgml panda_close 3 panda_close write a PDF document out to disk #include<panda/constants.h> #include<panda/functions.h> void panda_close (panda_pdf *document); DESCRIPTION Write out the PDF document we have created to disk, clean up and free memory. RETURNS Nothing EXAMPLE #include<panda/constants.h> #include<panda/functions.h> panda_pdf *document; panda_page *page; panda_init(); document = panda_open("filename.pdf", "w"); page = panda_newpage (document, panda_pagesize_a4); panda_close(document); SEE ALSO panda_open VERSION This documentation was generated for Panda 0.4.2 by autodocbook (http://www.stillhq.com). AUTHOR Panda is under development by Michael Still (mikal@stillhq.com). All code is Copyright Michael Still 2000 and 2001, and is released under the GNU GPL. Code submissions are welcomed. Contact Michael at the address above if you have something you would like to contribute. BUGS There are no known bugs in Panda. If you find one, please contact mikal@stillhq.com and let me know. panda_closetext.sgml panda_closetext 3 panda_closetext a traversal callback used for closing text streams within the PDF #include<panda/constants.h> #include<panda/functions.h> void panda_closetext(panda_pdf *document, panda_object *victim); DESCRIPTION PANDA INTERNAL. This function is called by the panda_traverseobjects() function to write out streams attached to objects when panda_close() call. You shouldn't need to ever call this function. RETURNS Nothing EXAMPLE ou shouldn't need to use this function. VERSION This documentation was generated for Panda 0.4.2 by autodocbook (http://www.stillhq.com). AUTHOR Panda is under development by Michael Still (mikal@stillhq.com). All code is Copyright Michael Still 2000 and 2001, and is released under the GNU GPL. Code submissions are welcomed. Contact Michael at the address above if you have something you would like to contribute. BUGS There are no known bugs in Panda. If you find one, please contact mikal@stillhq.com and let me know. panda_createandinsertpage.sgml panda_createandinsertpage 3 panda_createandinsertpage create a page within the PDF document #include<panda/constants.h> #include<panda/functions.h> void panda_createandinsertpage (panda_pdf *output); DESCRIPTION PANDA INTERNAL. This function creates the objects required for a page to exist within Panda. This function is wrappered by other Panda function calls. RETURNS A pointer to a panda_page object EXAMPLE #include<panda/constants.h> #include<panda/functions.h> panda_pdf *document; panda_page *page; panda_init(); document = panda_open("filename.pdf", "w"); page = panda_createandinsertpage(document); VERSION This documentation was generated for Panda 0.4.2 by autodocbook (http://www.stillhq.com). AUTHOR Panda is under development by Michael Still (mikal@stillhq.com). All code is Copyright Michael Still 2000 and 2001, and is released under the GNU GPL. Code submissions are welcomed. Contact Michael at the address above if you have something you would like to contribute. BUGS There are no known bugs in Panda. If you find one, please contact mikal@stillhq.com and let me know. panda_createfont.sgml panda_createfont 3 panda_createfont return a handle to the requested font #include<panda/constants.h> #include<panda/functions.h> char * panda_createfont (panda_pdf * output, char *fontname, int type, char *encoding) DESCRIPTION PANDA INTERNAL. This funtion call creates a font object for the requested font and returns the identifier that should be used when the font is set within the PDF document. RETURNS A font identifier (handle) as a null terminated string. EXAMPLE #include<panda/constants.h> #include<panda/functions.h> panda_pdf *output; char *fonthandle; panda_init(); output = panda_open("output.pdf", "w"); fonthandle = (output, "Helventica", 3, "MacRomanEncoding"); SEE ALSO panda_setfont VERSION This documentation was generated for Panda 0.4.2 by autodocbook (http://www.stillhq.com). AUTHOR Panda is under development by Michael Still (mikal@stillhq.com). All code is Copyright Michael Still 2000 and 2001, and is released under the GNU GPL. Code submissions are welcomed. Contact Michael at the address above if you have something you would like to contribute. BUGS There are no known bugs in Panda. If you find one, please contact mikal@stillhq.com and let me know. panda_dbclose.sgml panda_dbclose 3 panda_dbclose finalize the use of the Panda internal database #include<panda/constants.h> #include<panda/functions.h> void panda_dbclose(panda_pdf *document); DESCRIPTION PANDA INTERNAL. This command closes the TDB database which is used to store information about things like dictionary items which have been created in the document. The use of this database makes Panda much more reliable than it has previously been. RETURNS Nothing EXAMPLE here is no examples for this internal call SEE ALSO panda_dbopen, panda_dbwrite, panda_dbread VERSION This documentation was generated for Panda 0.4.2 by autodocbook (http://www.stillhq.com). AUTHOR Panda is under development by Michael Still (mikal@stillhq.com). All code is Copyright Michael Still 2000 and 2001, and is released under the GNU GPL. Code submissions are welcomed. Contact Michael at the address above if you have something you would like to contribute. BUGS There are no known bugs in Panda. If you find one, please contact mikal@stillhq.com and let me know. panda_dbopen.sgml panda_dbopen 3 panda_dbopen prepare the Panda internal database for use #include<panda/constants.h> #include<panda/functions.h> void panda_dbopen(panda_pdf *document); DESCRIPTION PANDA INTERNAL. This command opens the TDB database which is used to store information about things like dictionary items which have been created in the document. The use of this database makes Panda much more reliable than it has previously been. RETURNS Nothing EXAMPLE here is no examples for this internal call SEE ALSO panda_dbclose, panda_dbwrite, panda_dbread VERSION This documentation was generated for Panda 0.4.2 by autodocbook (http://www.stillhq.com). AUTHOR Panda is under development by Michael Still (mikal@stillhq.com). All code is Copyright Michael Still 2000 and 2001, and is released under the GNU GPL. Code submissions are welcomed. Contact Michael at the address above if you have something you would like to contribute. BUGS There are no known bugs in Panda. If you find one, please contact mikal@stillhq.com and let me know. panda_dbread.sgml panda_dbread 3 panda_dbread read a value from the Panda internal database #include<panda/constants.h> #include<panda/functions.h> char *panda_dbread(panda_pdf *document, char *key); DESCRIPTION PANDA INTERNAL. This function reads a value from the Panda internal database. RETURNS The value, or NULL if there is no value. EXAMPLE here is no examples for this internal call SEE ALSO panda_dbopen, panda_dbclose, panda_dbread VERSION This documentation was generated for Panda 0.4.2 by autodocbook (http://www.stillhq.com). AUTHOR Panda is under development by Michael Still (mikal@stillhq.com). All code is Copyright Michael Still 2000 and 2001, and is released under the GNU GPL. Code submissions are welcomed. Contact Michael at the address above if you have something you would like to contribute. BUGS There are no known bugs in Panda. If you find one, please contact mikal@stillhq.com and let me know. panda_dbwrite.sgml panda_dbwrite 3 panda_dbwrite write a value into the Panda internal database #include<panda/constants.h> #include<panda/functions.h> void panda_dbwrite(panda_pdf *document, char *key, char *value); DESCRIPTION PANDA INTERNAL. This function write a value into the Panda internal database. RETURNS Nothing EXAMPLE here is no examples for this internal call SEE ALSO panda_dbopen, panda_dbclose, panda_dbread VERSION This documentation was generated for Panda 0.4.2 by autodocbook (http://www.stillhq.com). AUTHOR Panda is under development by Michael Still (mikal@stillhq.com). All code is Copyright Michael Still 2000 and 2001, and is released under the GNU GPL. Code submissions are welcomed. Contact Michael at the address above if you have something you would like to contribute. BUGS There are no known bugs in Panda. If you find one, please contact mikal@stillhq.com and let me know. panda_endline.sgml panda_endline 3 panda_endline finalise the current line shape #include<panda/constants.h> #include<panda/functions.h> void panda_endline( panda_page *target); DESCRIPTION Finalise the line shape we are drawing. Only one line shape may be drawn at any one time. There is no need for this call with the panda_rectangle() call. RETURNS Nothing EXAMPLE #include<panda/constants.h> #include<panda/functions.h> panda_pdf *document; panda_page *page; panda_init(); document = panda_open("filename.pdf", "w"); page = panda_newpage (document, panda_pagesize_a4); panda_setlinestart (page, 100, 200); panda_addlinesegment (page, 200, 200); panda_endline (page); SEE ALSO panda_setlinestart, panda_addlinesegment, panda_addcubiccurvesegment, panda_addquadraticsegmentone, panda_addquadraticcurvesegmenttwo, panda_closeline, panda_rectangle, panda_strokeline, panda_fillline, panda_setlinewidth, panda_setlinecap, panda_setlinejoin, panda_setlinedash, panda_setfillcolor, panda_setlinecolor VERSION This documentation was generated for Panda 0.4.2 by autodocbook (http://www.stillhq.com). AUTHOR Panda is under development by Michael Still (mikal@stillhq.com). All code is Copyright Michael Still 2000 and 2001, and is released under the GNU GPL. Code submissions are welcomed. Contact Michael at the address above if you have something you would like to contribute. BUGS There are no known bugs in Panda. If you find one, please contact mikal@stillhq.com and let me know. panda_entergraphicsmode.sgml panda_entergraphicsmode 3 panda_entergraphicsmode make sure the page description stream is in graphics mode #include<panda/constants.h> #include<panda/functions.h> void panda_entergraphicsmode (panda_page * target); DESCRIPTION PANDA INTERNAL. PDF pages are described with a text stream full of commands. Many of these commands are similar to those used within Postscript. This function call ensures that the text stream is in a graphics state. RETURNS Nothing EXAMPLE #include<panda/constants.h> #include<panda/functions.h> panda_pdf *document; panda_page *page; panda_init(); document = panda_open("filename.pdf", "w"); page = panda_newpage (document, panda_pagesize_a4); panda_entergraphicsmode (page); SEE ALSO panda_exitgraphicsmode VERSION This documentation was generated for Panda 0.4.2 by autodocbook (http://www.stillhq.com). AUTHOR Panda is under development by Michael Still (mikal@stillhq.com). All code is Copyright Michael Still 2000 and 2001, and is released under the GNU GPL. Code submissions are welcomed. Contact Michael at the address above if you have something you would like to contribute. BUGS There are no known bugs in Panda. If you find one, please contact mikal@stillhq.com and let me know. panda_error.sgml panda_error 3 panda_error handle a Panda error #include<panda/constants.h> #include<panda/functions.h> void panda_error (int fatal, char *msg); DESCRIPTION Print out the error message to stderr and then exit (if fatal is panda_true). RETURNS Nothing EXAMPLE #include<panda/constants.h> #include<panda/functions.h> panda_error ("All is rotten in the state of Denmark"); VERSION This documentation was generated for Panda 0.4.2 by autodocbook (http://www.stillhq.com). AUTHOR Panda is under development by Michael Still (mikal@stillhq.com). All code is Copyright Michael Still 2000 and 2001, and is released under the GNU GPL. Code submissions are welcomed. Contact Michael at the address above if you have something you would like to contribute. BUGS There are no known bugs in Panda. If you find one, please contact mikal@stillhq.com and let me know. panda_exitgraphicsmode.sgml panda_exitgraphicsmode 3 panda_exitgraphicsmode make sure the page description stream is out of graphics mode #include<panda/constants.h> #include<panda/functions.h> void panda_exitgraphicsmode (panda_page * target); DESCRIPTION PANDA INTERNAL. PDF pages are described with a text stream full of commands. Many of these commands are similar to those used within Postscript. This function call ensures that the text stream is not in a graphics state. RETURNS Nothing EXAMPLE #include<panda/constants.h> #include<panda/functions.h> panda_pdf *document; panda_page *page; panda_init(); document = panda_open("filename.pdf", "w"); page = panda_newpage (document, panda_pagesize_a4); panda_entergraphicsmode (page); ... panda_exitgraphicsmode (page); SEE ALSO panda_entergraphicsmode VERSION This documentation was generated for Panda 0.4.2 by autodocbook (http://www.stillhq.com). AUTHOR Panda is under development by Michael Still (mikal@stillhq.com). All code is Copyright Michael Still 2000 and 2001, and is released under the GNU GPL. Code submissions are welcomed. Contact Michael at the address above if you have something you would like to contribute. BUGS There are no known bugs in Panda. If you find one, please contact mikal@stillhq.com and let me know. panda_fillline.sgml panda_fillline 3 panda_fillline fill the closed shape we just drew #include<panda/constants.h> #include<panda/functions.h> void panda_fillline (panda_page * target); DESCRIPTION Fill the shape we have just drawn with the previously defined fill. RETURNS Nothing EXAMPLE #include<panda/constants.h> #include<panda/functions.h> panda_pdf *document; panda_page *page; panda_init(); document = panda_open("filename.pdf", "w"); page = panda_newpage (document, panda_pagesize_a4); panda_setlinestart (page, 100, 200); panda_addlinesegment (page, 200, 200); panda_addlinesegment (page, 250, 250); panda_endline (page); panda_fillline (page); SEE ALSO panda_setlinestart, panda_addlinesegment, panda_addcubiccurvesegment, panda_addquadraticsegmentone, panda_addquadraticcurvesegmenttwo, panda_closeline, panda_rectangle, panda_endline, panda_strokeline, panda_setlinewidth, panda_setlinecap, panda_setlinejoin, panda_setlinedash, panda_setfillcolor, panda_setlinecolor VERSION This documentation was generated for Panda 0.4.2 by autodocbook (http://www.stillhq.com). AUTHOR Panda is under development by Michael Still (mikal@stillhq.com). All code is Copyright Michael Still 2000 and 2001, and is released under the GNU GPL. Code submissions are welcomed. Contact Michael at the address above if you have something you would like to contribute. BUGS There are no known bugs in Panda. If you find one, please contact mikal@stillhq.com and let me know. panda_fitwindow.sgml panda_fitwindow 3 panda_fitwindow ask the viewer to fit the viewer window to the first page of the PDF document when it is opened #include<panda/constants.h> #include<panda/functions.h> void panda_fitwindow (panda_pdf *document, int onoroff); DESCRIPTION This function records information in the output PDF document requesting that the viewing application fit the display window to the first page of the PDF document when it is opened. This option is not supported by all viewers, and therefore should not be relied upon. The on or off arguement is a panda_true value, which does the obvious thing. The default is to not fit the document to the window. RETURNS Nothing EXAMPLE #include<panda/constants.h> #include<panda/functions.h> panda_pdf *document; panda_init(); document = panda_open("filename.pdf", "w"); panda_fitwindow(document, panda_true); VERSION This documentation was generated for Panda 0.4.2 by autodocbook (http://www.stillhq.com). AUTHOR Panda is under development by Michael Still (mikal@stillhq.com). All code is Copyright Michael Still 2000 and 2001, and is released under the GNU GPL. Code submissions are welcomed. Contact Michael at the address above if you have something you would like to contribute. BUGS There are no known bugs in Panda. If you find one, please contact mikal@stillhq.com and let me know. panda_freeobject.sgml panda_freeobject 3 panda_freeobject free the memory used by a previously created object #include<panda/constants.h> #include<panda/functions.h> void panda_freeobject (panda_pdf *output, panda_object *); DESCRIPTION PANDA INTERNAL. This function call frees the memory used by an object. It is used during the cleanup process prior to finishing closing a PDF document. Even if a user of the API has added object types to their code, they should not have to call this function, as their objects should be added to the object tree via panda_addchild() to ensure they are written to disc by panda_writeobject() having been traversed by panda_traverseobjects() at PDF close time. RETURNS None EXAMPLE #include<panda/constants.h> #include<panda/functions.h> panda_pdf *document; panda_object *obj; panda_init(); document = panda_open("filename.pdf", "w"); obj = panda_newobject(document, panda_object_normal); panda_freeobject(document, obj)l SEE ALSO panda_newobject, panda_writeobject, panda_traverseobjects, panda_addchild VERSION This documentation was generated for Panda 0.4.2 by autodocbook (http://www.stillhq.com). AUTHOR Panda is under development by Michael Still (mikal@stillhq.com). All code is Copyright Michael Still 2000 and 2001, and is released under the GNU GPL. Code submissions are welcomed. Contact Michael at the address above if you have something you would like to contribute. BUGS There are no known bugs in Panda. If you find one, please contact mikal@stillhq.com and let me know. panda_freetextannotation.sgml panda_freetextannotation 3 panda_freetextannotation draw a text annotation which doesn't look like a sticky note onto a page #include<panda/constants.h> #include<panda/functions.h> void panda_freetextannotation(panda_pdf *document, panda_page *page, char *text, int top, int left, int bottom, int right, int flags); DESCRIPTION This function inserts a text annotation onto one of the pages in your PDF document. The possible values for the flags arguement are: panda_annotationflag_invisible; panda_annotationflag_hidden; panda_annotationflag_print; panda_annotationflag_nozoom; panda_annotationflag_norotate; panda_annotationflag_noview; panda_annotationflag_readonly -- the values for this arguement may by OR'ed together if needed. RETURNS Nothing EXAMPLE #include<panda/constants.h> #include<panda/functions.h> panda_pdf *demo; panda_page *currPage; panda_init(); if ((demo = panda_open ("output.pdf", "w")) == NULL) panda_error (panda_true, "demo: could not open output.pdf to write to."); currPage = panda_newpage (demo, panda_pagesize_a4); panda_freetextannotation(demo, currPage, "Hello", 10, 10, 50, 50, 0); SEE ALSO panda_textannotation, panda_insertannotation VERSION This documentation was generated for Panda 0.4.2 by autodocbook (http://www.stillhq.com). AUTHOR Panda is under development by Michael Still (mikal@stillhq.com). All code is Copyright Michael Still 2000 and 2001, and is released under the GNU GPL. Code submissions are welcomed. Contact Michael at the address above if you have something you would like to contribute. BUGS There are no known bugs in Panda. If you find one, please contact mikal@stillhq.com and let me know. panda_fullscreen.sgml panda_fullscreen 3 panda_fullscreen ask the viewer to display the PDF document in fullscreen mode #include<panda/constants.h> #include<panda/functions.h> void panda_fullscreen (panda_pdf *document, int onoroff); DESCRIPTION This function records information in the output PDF document requesting that the viewing application display the document in full screen mode. This option is not supported by all viewers, and therefore should not be relied upon. The on or off arguement is a panda_true value, which does the obvious thing. The default is to not display the PDF in fullscreen mode. RETURNS Nothing EXAMPLE #include<panda/constants.h> #include<panda/functions.h> panda_pdf *document; panda_init(); document = panda_open("filename.pdf", "w"); panda_fullscreen(document, panda_true); VERSION This documentation was generated for Panda 0.4.2 by autodocbook (http://www.stillhq.com). AUTHOR Panda is under development by Michael Still (mikal@stillhq.com). All code is Copyright Michael Still 2000 and 2001, and is released under the GNU GPL. Code submissions are welcomed. Contact Michael at the address above if you have something you would like to contribute. BUGS There are no known bugs in Panda. If you find one, please contact mikal@stillhq.com and let me know. panda_getfontobj.sgml panda_getfontobj 3 panda_getfontobj get the object that the named font is stored in #include<panda/constants.h> #include<panda/functions.h> void panda_getfontobj (panda_pdf *output, char *fontident); DESCRIPTION PANDA INTERNAL. This function is used to map a font identifier handed to Panda by a user to the object that actually stores the font requested. This is because the PDF specification actually wants a reference to this object, instead of merely the name of the font. RETURNS The font object EXAMPLE #include<panda/constants.h> #include<panda/functions.h> panda_pdf *output; panda_init(); output = panda_open("output.pdf", "w"); fonthandle = panda_createfont (output, "Helventica", 3, "MacRomanEncoding"); printf("The font was stored in object number %d\n", (panda_getfont (output, fonthandle))->number); SEE ALSO panda_createfont VERSION This documentation was generated for Panda 0.4.2 by autodocbook (http://www.stillhq.com). AUTHOR Panda is under development by Michael Still (mikal@stillhq.com). All code is Copyright Michael Still 2000 and 2001, and is released under the GNU GPL. Code submissions are welcomed. Contact Michael at the address above if you have something you would like to contribute. BUGS There are no known bugs in Panda. If you find one, please contact mikal@stillhq.com and let me know. panda_hidemenubar.sgml panda_hidemenubar 3 panda_hidemenubar ask the viewer to hide it's menu bar when this PDF is displayed #include<panda/constants.h> #include<panda/functions.h> void panda_hidemenubar (panda_pdf *document, int onoroff); DESCRIPTION This function records information in the output PDF document requesting that the viewing application's menu bar not be displayed when this PDF is opened. This option is not supported by all viewers, and therefore should not be relied upon. The on or off arguement is a panda_true value, which does the obvious thing. The default is to show the menu bar. RETURNS Nothing EXAMPLE #include<panda/constants.h> #include<panda/functions.h> panda_pdf *document; panda_init(); document = panda_open("filename.pdf", "w"); panda_hidemenubar(document, panda_true); VERSION This documentation was generated for Panda 0.4.2 by autodocbook (http://www.stillhq.com). AUTHOR Panda is under development by Michael Still (mikal@stillhq.com). All code is Copyright Michael Still 2000 and 2001, and is released under the GNU GPL. Code submissions are welcomed. Contact Michael at the address above if you have something you would like to contribute. BUGS There are no known bugs in Panda. If you find one, please contact mikal@stillhq.com and let me know. panda_hidetoolbar.sgml panda_hidetoolbar 3 panda_hidetoolbar ask the viewer to hide it's tool bar when this PDF is displayed #include<panda/constants.h> #include<panda/functions.h> void panda_hidetoolbar (panda_pdf *document, int onoroff); DESCRIPTION This function records information in the output PDF document requesting that the viewing application's tool bar not be displayed when this PDF is opened. This option is not supported by all viewers, and therefore should not be relied upon. The on or off arguement is a panda_true value, which does the obvious thing. The default is to show the tool bar. RETURNS Nothing EXAMPLE #include<panda/constants.h> #include<panda/functions.h> panda_pdf *document; panda_init(); document = panda_open("filename.pdf", "w"); panda_hidetoolbar(document, panda_true); VERSION This documentation was generated for Panda 0.4.2 by autodocbook (http://www.stillhq.com). AUTHOR Panda is under development by Michael Still (mikal@stillhq.com). All code is Copyright Michael Still 2000 and 2001, and is released under the GNU GPL. Code submissions are welcomed. Contact Michael at the address above if you have something you would like to contribute. BUGS There are no known bugs in Panda. If you find one, please contact mikal@stillhq.com and let me know. panda_hidewindowui.sgml panda_hidewindowui 3 panda_hidewindowui ask the viewer to hide it's display window user interface when this PDF is displayed #include<panda/constants.h> #include<panda/functions.h> void panda_hidewindowui (panda_pdf *document, int onoroff); DESCRIPTION This function records information in the output PDF document requesting that the viewing application's window user interface not be displayed when this PDF is opened. This option is not supported by all viewers, and therefore should not be relied upon. The on or off arguement is a panda_true value, which does the obvious thing. The default is to display the user interface. RETURNS Nothing EXAMPLE #include<panda/constants.h> #include<panda/functions.h> panda_pdf *document; panda_init(); document = panda_open("filename.pdf", "w"); panda_hidewindowui(document, panda_true); VERSION This documentation was generated for Panda 0.4.2 by autodocbook (http://www.stillhq.com). AUTHOR Panda is under development by Michael Still (mikal@stillhq.com). All code is Copyright Michael Still 2000 and 2001, and is released under the GNU GPL. Code submissions are welcomed. Contact Michael at the address above if you have something you would like to contribute. BUGS There are no known bugs in Panda. If you find one, please contact mikal@stillhq.com and let me know. panda_imageboxrot.sgml panda_imageboxrot 3 panda_imageboxrot insert an image into the PDF document at the specified location #include<panda/constants.h> #include<panda/functions.h> void panda_panda_imageboxrot (panda_pdf * output, panda_page * target, int top, int left, int bottom, int right, double angle, char *filename, int type); DESCRIPTION This function call inserts an image into the PDF document at the specified location, including the ability to rotate the image on the page. It should be noted that xpdf will sometimes make the rotated image look quite sickly. This is in fact a bug in xpdf (which has beenr eported), and not a bug in Panda. The image types accepted by this call are: panda_image_tiff, panda_image_jpeg and panda_image_png. RETURNS Nothing EXAMPLE #include<panda/constants.h> #include<panda/functions.h> panda_pdf *demo; panda_page *currPage; panda_init (); if ((demo = panda_open ("output.pdf", "w")) == NULL) panda_error (panda_true, "demo: could not open output.pdf to write to."); currPage = panda_newpage (demo, panda_pagesize_a4); panda_imagebox (demo, currPage, 0, 0, currPage->height / 2, currPage->width, 45.0, "input.tif", panda_image_tiff); SEE ALSO panda_imagebox VERSION This documentation was generated for Panda 0.4.2 by autodocbook (http://www.stillhq.com). AUTHOR Panda is under development by Michael Still (mikal@stillhq.com). All code is Copyright Michael Still 2000 and 2001, and is released under the GNU GPL. Code submissions are welcomed. Contact Michael at the address above if you have something you would like to contribute. BUGS There are no known bugs in Panda. If you find one, please contact mikal@stillhq.com and let me know. panda_imagebox.sgml panda_imagebox 3 panda_imagebox insert an image into the PDF document at the specified location #include<panda/constants.h> #include<panda/functions.h> void panda_panda_imagebox (panda_pdf * output, panda_page * target, int top, int left, int bottom, int right, char *filename, int type); DESCRIPTION This function call inserts an image into the PDF document at the specified location using a reasonable default for rotation (none). This call is included for backward compatability withprevious releases of the API and it is recommened that new code call panda_imageboxrot(). It is unlikely that this call will be retired however. The image types accepted by this call are: panda_image_tiff, panda_image_jpeg and panda_image_png. RETURNS Nothing EXAMPLE #include<panda/constants.h> #include<panda/functions.h> panda_pdf *demo; panda_page *currPage; panda_init (); if ((demo = panda_open ("output.pdf", "w")) == NULL) panda_error (panda_true, "demo: could not open output.pdf to write to."); currPage = panda_newpage (demo, panda_pagesize_a4); panda_imagebox (demo, currPage, 0, 0, currPage->height / 2, currPage->width, "input.tif", panda_image_tiff); SEE ALSO panda_imageboxrot VERSION This documentation was generated for Panda 0.4.2 by autodocbook (http://www.stillhq.com). AUTHOR Panda is under development by Michael Still (mikal@stillhq.com). All code is Copyright Michael Still 2000 and 2001, and is released under the GNU GPL. Code submissions are welcomed. Contact Michael at the address above if you have something you would like to contribute. BUGS There are no known bugs in Panda. If you find one, please contact mikal@stillhq.com and let me know. panda_imagesize .sgml panda_imagesize 3 panda_imagesize determine the size of an image END DESCRIPTION This function can be used to determine the size of an image before a panda_imagebox() function call. RETURNS Nothing EXAMPLE END SEE ALSO panda_imagebox, panda_imageboxrot VERSION This documentation was generated for Panda 0.4.2 by autodocbook (http://www.stillhq.com). AUTHOR Panda is under development by Michael Still (mikal@stillhq.com). All code is Copyright Michael Still 2000 and 2001, and is released under the GNU GPL. Code submissions are welcomed. Contact Michael at the address above if you have something you would like to contribute. BUGS There are no known bugs in Panda. If you find one, please contact mikal@stillhq.com and let me know. panda_init.sgml panda_init 3 panda_init setup Panda ready for use #include<panda/constants.h> #include<panda/functions.h> void panda_init (void); DESCRIPTION Performs some simple setup of Panda before it is used for the first time in your application. RETURNS Nothing EXAMPLE #include<panda/constants.h> #include<panda/functions.h> panda_init(); VERSION This documentation was generated for Panda 0.4.2 by autodocbook (http://www.stillhq.com). AUTHOR Panda is under development by Michael Still (mikal@stillhq.com). All code is Copyright Michael Still 2000 and 2001, and is released under the GNU GPL. Code submissions are welcomed. Contact Michael at the address above if you have something you would like to contribute. BUGS There are no known bugs in Panda. If you find one, please contact mikal@stillhq.com and let me know. panda_insertannotation.sgml panda_insertannotation 3 panda_insertannotation actually insert an annotation #include<panda/constants.h> #include<panda/functions.h> panda_object *panda_insertannotation(panda_pdf *document, panda_page *page, int top, int left, int bottom, int right, int flags) DESCRIPTION PANDA INTERNAL. This function call creates the object to store the annotation and the common elements which are required. RETURNS The annotation object which was created. EXAMPLE ou shouldn't need an example because this is an internal call SEE ALSO panda_textannotation, panda_freetextannotation VERSION This documentation was generated for Panda 0.4.2 by autodocbook (http://www.stillhq.com). AUTHOR Panda is under development by Michael Still (mikal@stillhq.com). All code is Copyright Michael Still 2000 and 2001, and is released under the GNU GPL. Code submissions are welcomed. Contact Michael at the address above if you have something you would like to contribute. BUGS There are no known bugs in Panda. If you find one, please contact mikal@stillhq.com and let me know. panda_insertJPEG.sgml panda_insertJPEG 3 panda_insertJPEG insert a JPEG image into the PDF #include<panda/constants.h> #include<panda/functions.h> void panda_insertJPEG (panda_pdf * output, panda_page * target, panda_object * imageObj, char *filename); DESCRIPTION PANDA INTERNAL. Do the actual insertion of the JPEG image into the PDF document. This routine handles the conversion of the JPEG image into the form supported by the PDF specification, and similar operations. It is an internal Panda call and should not be needed by users of the API. RETURNS Nothing EXAMPLE ee panda_imageboxrot for an example usage SEE ALSO panda_imagebox, panda_imageboxrot, panda_insertTIFF, panda_insertPNG VERSION This documentation was generated for Panda 0.4.2 by autodocbook (http://www.stillhq.com). AUTHOR Panda is under development by Michael Still (mikal@stillhq.com). All code is Copyright Michael Still 2000 and 2001, and is released under the GNU GPL. Code submissions are welcomed. Contact Michael at the address above if you have something you would like to contribute. BUGS There are no known bugs in Panda. If you find one, please contact mikal@stillhq.com and let me know. panda_insertPNG.sgml panda_insertPNG 3 panda_insertPNG insert a PNG image into the PDF #include<panda/constants.h> #include<panda/functions.h> void panda_insertPNG (panda_pdf * output, panda_page * target, panda_object * imageObj, char *filename); DESCRIPTION PANDA INTERNAL. Do the actual insertion of the PNG image into the PDF document. This routine handles the conversion of the PNG image into the form supported by the PDF specification, and similar operations. It is an internal Panda call and should not be needed by users of the API. hile developing this function call, some reference was made to the source code for iText (http://www.lowagie.com/iText), which is a GPL'ed PDF generator written in Java. The code in Panda is original though... RETURNS Nothing EXAMPLE ee panda_imageboxrot for an example usage SEE ALSO panda_imagebox, panda_imageboxrot, panda_insertJPEG, panda_insertTIFF VERSION This documentation was generated for Panda 0.4.2 by autodocbook (http://www.stillhq.com). AUTHOR Panda is under development by Michael Still (mikal@stillhq.com). All code is Copyright Michael Still 2000 and 2001, and is released under the GNU GPL. Code submissions are welcomed. Contact Michael at the address above if you have something you would like to contribute. BUGS There are no known bugs in Panda. If you find one, please contact mikal@stillhq.com and let me know. panda_insertTIFF.sgml panda_insertTIFF 3 panda_insertTIFF insert a TIFF image into the PDF #include<panda/constants.h> #include<panda/functions.h> void panda_insertTIFF (panda_pdf * output, panda_page * target, panda_object * imageObj, char *filename); DESCRIPTION PANDA INTERNAL. Do the actual insertion of the TIFF image into the PDF document. This routine handles the conversion of the TIFF image into the form supported by the PDF specification, and similar operations. It is an internal Panda call and should not be needed by users of the API. RETURNS Nothing EXAMPLE ee panda_imageboxrot for an example usage SEE ALSO panda_imagebox, panda_imageboxrot, panda_insertJPEG, panda_insertPNG VERSION This documentation was generated for Panda 0.4.2 by autodocbook (http://www.stillhq.com). AUTHOR Panda is under development by Michael Still (mikal@stillhq.com). All code is Copyright Michael Still 2000 and 2001, and is released under the GNU GPL. Code submissions are welcomed. Contact Michael at the address above if you have something you would like to contribute. BUGS There are no known bugs in Panda. If you find one, please contact mikal@stillhq.com and let me know. panda_makedate.sgml panda_makedate 3 panda_makedate format a date into the internal PDF representation #include<panda/constants.h> #include<panda/functions.h> void panda_makedate (int year, int month, int day, int hour, int minutes, int seconds); DESCRIPTION PANDA INTERNAL. The function makedate generates a date that is suitable to be embedded into a PDF. This date will include information about the timezone in which the PDF was created and the relationship that this timezone has with GMT (Zulu) time. Mostly this function is used internally within Panda, and should not concern the average programmer too much. RETURNS The date passed formatted as a null terminated string. EXAMPLE #include<panda/constants.h> #include<panda/functions.h> printf("Panda would encode 19 July 1977 3:14:23 AM as: %s\n", panda_makedate(1977, 7, 19, 3, 14, 23)); SEE ALSO panda_nowdate VERSION This documentation was generated for Panda 0.4.2 by autodocbook (http://www.stillhq.com). AUTHOR Panda is under development by Michael Still (mikal@stillhq.com). All code is Copyright Michael Still 2000 and 2001, and is released under the GNU GPL. Code submissions are welcomed. Contact Michael at the address above if you have something you would like to contribute. BUGS There are no known bugs in Panda. If you find one, please contact mikal@stillhq.com and let me know. panda_newobject.sgml panda_newobject 3 panda_newobject create a new object #include<panda/constants.h> #include<panda/functions.h> panda_object *panda_newobject (panda_pdf *output, int type); DESCRIPTION PANDA INTERNAL. Create a new object within the PDF document output. The types of object are panda_object_normal and panda_object_placeholder -- the difference is that a placeholder object wont be written out when the PDF is dumped to disc. This is an internal function call and would only be need by API users if they are creating support for object types not currently supported by Panda. If this is the case, then these users are encouraged to submit their code changes back to mikal@stillhq.com for inclusion with the next release of Panda, and are reminded of their obligations under the GNU GPL. RETURNS A pointer to the new object (a panda_object *) EXAMPLE #include<panda/constants.h> #include<panda/functions.h> panda_pdf *document; panda_object *obj; panda_init(); document = panda_open("filename.pdf", "w"); obj = panda_newobject(document, panda_object_normal); SEE ALSO panda_freeobject, panda_writeobject, panda_traverseobjects, panda_addchild VERSION This documentation was generated for Panda 0.4.2 by autodocbook (http://www.stillhq.com). AUTHOR Panda is under development by Michael Still (mikal@stillhq.com). All code is Copyright Michael Still 2000 and 2001, and is released under the GNU GPL. Code submissions are welcomed. Contact Michael at the address above if you have something you would like to contribute. BUGS There are no known bugs in Panda. If you find one, please contact mikal@stillhq.com and let me know. panda_newpage.sgml panda_newpage 3 panda_newpage create a new page in the PDF #include<panda/constants.h> #include<panda/functions.h> panda_page *panda_newpage(panda_pdf *document, char *pagesize); DESCRIPTION Create a new blank page at the end of the PDF with the specified size. Use the standard pagesize strings that are defined by Panda for most things. These are panda_pagesize_a4, and panda_pagesize_usletter. If you need to create your own page sizes, then have a look at these for hints. RETURNS Nothing EXAMPLE #include<panda/constants.h> #include<panda/functions.h> panda_pdf *document; panda_page *page; panda_init(); document = panda_open("filename.pdf", "w"); page = panda_newpage (document, panda_pagesize_a4); SEE ALSO panda_open, panda_close VERSION This documentation was generated for Panda 0.4.2 by autodocbook (http://www.stillhq.com). AUTHOR Panda is under development by Michael Still (mikal@stillhq.com). All code is Copyright Michael Still 2000 and 2001, and is released under the GNU GPL. Code submissions are welcomed. Contact Michael at the address above if you have something you would like to contribute. BUGS There are no known bugs in Panda. If you find one, please contact mikal@stillhq.com and let me know. panda_newtemplate.sgml panda_newtemplate 3 panda_newtemplate create a template page in the PDF #include<panda/constants.h> #include<panda/functions.h> void panda_newtemplate(panda_pdf *document, char *pageSize); DESCRIPTION This function is used to create 'template' pages which can then be refered to on other pages. For instance, if you were creating a document that used a standard letter head, then it would make sense to construct the letterhead as a template, and then use this on all the pages. The created template looks and feels just like any other page in the document for the purposes of creating content. Refer to the panda_newpage man page for details on how to use pages. RETURNS A pointer to the template page EXAMPLE #include<panda/constants.h> #include<panda/functions.h> panda_pdf *document; panda_page *templatepage; panda_init(); document = panda_open("filename.pdf", "w"); templatepage = panda_newtemplate (document, panda_pagesize_a4); SEE ALSO panda_newpage, panda_applytemplate VERSION This documentation was generated for Panda 0.4.2 by autodocbook (http://www.stillhq.com). AUTHOR Panda is under development by Michael Still (mikal@stillhq.com). All code is Copyright Michael Still 2000 and 2001, and is released under the GNU GPL. Code submissions are welcomed. Contact Michael at the address above if you have something you would like to contribute. BUGS There are no known bugs in Panda. If you find one, please contact mikal@stillhq.com and let me know. panda_nfspagemodde.sgml panda_nfspagemodde 3 panda_nfspagemodde defines display characteristics for the PDF document if it is using non fullscreen mode after defaulting to fullscreen mode #include<panda/constants.h> #include<panda/functions.h> void panda_nfspagemode (panda_pdf *document, int pagemode); DESCRIPTION If the document in question is using fullscreen mode and then exits from fullscreen mode, then this function configures the behaviour of several of the 'eye candy' options available in some viewers. The possible values for pagemode are: panda_window_usenone, which displays neither the outline or thumbnails (if present); panda_window_useoutlines, which displays only the outline for the document; panda_window_usethumbs, which only displays thumbnails. Please note that this function will only have an effect on the viewer if the page mode has been set to fullscreen with the panda_fullscreen() function call RETURNS Nothing EXAMPLE #include<panda/constants.h> #include<panda/functions.h> panda_pdf *document; panda_init(); document = panda_open("filename.pdf", "w"); panda_nfspagemode(document, panda_window_usenone); SEE ALSO panda_fullscreen VERSION This documentation was generated for Panda 0.4.2 by autodocbook (http://www.stillhq.com). AUTHOR Panda is under development by Michael Still (mikal@stillhq.com). All code is Copyright Michael Still 2000 and 2001, and is released under the GNU GPL. Code submissions are welcomed. Contact Michael at the address above if you have something you would like to contribute. BUGS There are no known bugs in Panda. If you find one, please contact mikal@stillhq.com and let me know. panda_nowdate.sgml panda_nowdate 3 panda_nowdate return the string for now #include<panda/constants.h> #include<panda/functions.h> void panda_nowdate (); DESCRIPTION PANDA INTERNAL. The function nowdate generates a date that is suitable to be embedded into a PDF. This date will include information about the timezone in which the PDF was created and the relationship that this timezone has with GMT (Zulu) time. Mostly this function is used internally within Panda, and should not concern the avaerage programmer too much. This version takes no input, and makes a date for the current time. RETURNS The current time in PDF format in a null terminated string. EXAMPLE #include<panda/constants.h> #include<panda/functions.h> printf("The time now is %s\n", panda_nowdate()); SEE ALSO panda_makedate VERSION This documentation was generated for Panda 0.4.2 by autodocbook (http://www.stillhq.com). AUTHOR Panda is under development by Michael Still (mikal@stillhq.com). All code is Copyright Michael Still 2000 and 2001, and is released under the GNU GPL. Code submissions are welcomed. Contact Michael at the address above if you have something you would like to contribute. BUGS There are no known bugs in Panda. If you find one, please contact mikal@stillhq.com and let me know. panda_open_actual.sgml panda_open_actual 3 panda_open_actual actually open a PDF document #include<panda/constants.h> #include<panda/functions.h> panda_pdf * panda_open_actual (char *filename, char *mode); DESCRIPTION PANDA INTERNAL. Open the named PDF document with the mode specified. The only mode currently supported is "w", but others will be integrated later. The interface to this function is identical in it's behaviour to the fopen() function call offered by the ANSI C standard IO library. This call actually does the opening for panda_open() and panda_open_suppress(). RETURNS A pointer to a panda_pdf structure EXAMPLE se panda_open! SEE ALSO panda_init, panda_open, panda_open_suppress, panda_close VERSION This documentation was generated for Panda 0.4.2 by autodocbook (http://www.stillhq.com). AUTHOR Panda is under development by Michael Still (mikal@stillhq.com). All code is Copyright Michael Still 2000 and 2001, and is released under the GNU GPL. Code submissions are welcomed. Contact Michael at the address above if you have something you would like to contribute. BUGS There are no known bugs in Panda. If you find one, please contact mikal@stillhq.com and let me know.