# Haru PDF

- Introduction
- Installing/Configuring
  - Requirements
  - Installation
  - Runtime Configuration
  - Resource Types
- Predefined Constants
- Examples
  - Basic PECL/haru example
- Builtin Fonts And Encodings
  - Builtin Fonts
  - Builtin Encodings
- HaruException — The HaruException class
- HaruDoc — The HaruDoc class
  - HaruDoc::addPage — Add new page to the document
  - HaruDoc::addPageLabel — Set the numbering style for the specified range of pages
  - HaruDoc::__construct — Construct new HaruDoc instance
  - HaruDoc::createOutline — Create a HaruOutline instance
  - HaruDoc::getCurrentEncoder — Get HaruEncoder currently used in the document
  - HaruDoc::getCurrentPage — Return current page of the document
  - HaruDoc::getEncoder — Get HaruEncoder instance for the specified encoding
  - HaruDoc::getFont — Get HaruFont instance
  - HaruDoc::getInfoAttr — Get current value of the specified document attribute
  - HaruDoc::getPageLayout — Get current page layout
  - HaruDoc::getPageMode — Get current page mode
  - HaruDoc::getStreamSize — Get the size of the temporary stream
  - HaruDoc::insertPage — Insert new page just before the specified page
  - HaruDoc::loadJPEG — Load a JPEG image
  - HaruDoc::loadPNG — Load PNG image and return HaruImage instance
  - HaruDoc::loadRaw — Load a RAW image
  - HaruDoc::loadTTC — Load the font with the specified index from TTC file
  - HaruDoc::loadTTF — Load TTF font file
  - HaruDoc::loadType1 — Load Type1 font
  - HaruDoc::output — Write the document data to the output buffer
  - HaruDoc::readFromStream — Read data from the temporary stream
  - HaruDoc::resetError — Reset error state of the document handle
  - HaruDoc::resetStream — Rewind the temporary stream
  - HaruDoc::save — Save the document into the specified file
  - HaruDoc::saveToStream — Save the document into a temporary stream
  - HaruDoc::setCompressionMode — Set compression mode for the document
  - HaruDoc::setCurrentEncoder — Set the current encoder for the document
  - HaruDoc::setEncryptionMode — Set encryption mode for the document
  - HaruDoc::setInfoAttr — Set the info attribute of the document
  - HaruDoc::setInfoDateAttr — Set the datetime info attributes of the document
  - HaruDoc::setOpenAction — Define which page is shown when the document is opened
  - HaruDoc::setPageLayout — Set how pages should be displayed
  - HaruDoc::setPageMode — Set how the document should be displayed
  - HaruDoc::setPagesConfiguration — Set the number of pages per set of pages
  - HaruDoc::setPassword — Set owner and user passwords for the document
  - HaruDoc::setPermission — Set permissions for the document
  - HaruDoc::useCNSEncodings — Enable Chinese simplified encodings
  - HaruDoc::useCNSFonts — Enable builtin Chinese simplified fonts
  - HaruDoc::useCNTEncodings — Enable Chinese traditional encodings
  - HaruDoc::useCNTFonts — Enable builtin Chinese traditional fonts
  - HaruDoc::useJPEncodings — Enable Japanese encodings
  - HaruDoc::useJPFonts — Enable builtin Japanese fonts
  - HaruDoc::useKREncodings — Enable Korean encodings
  - HaruDoc::useKRFonts — Enable builtin Korean fonts
- HaruPage — The HaruPage class
  - HaruPage::arc — Append an arc to the current path
  - HaruPage::beginText — Begin a text object and set the current text position to (0,0)
  - HaruPage::circle — Append a circle to the current path
  - HaruPage::closePath — Append a straight line from the current point to the start point of the path
  - HaruPage::concat — Concatenate current transformation matrix of the page and the specified matrix
  - HaruPage::createDestination — Create new HaruDestination instance
  - HaruPage::createLinkAnnotation — Create new HaruAnnotation instance
  - HaruPage::createTextAnnotation — Create new HaruAnnotation instance
  - HaruPage::createURLAnnotation — Create and return new HaruAnnotation instance
  - HaruPage::curveTo2 — Append a Bezier curve to the current path
  - HaruPage::curveTo3 — Append a Bezier curve to the current path
  - HaruPage::curveTo — Append a Bezier curve to the current path
  - HaruPage::drawImage — Show image at the page
  - HaruPage::ellipse — Append an ellipse to the current path
  - HaruPage::endPath — End current path object without filling and painting operations
  - HaruPage::endText — End current text object
  - HaruPage::eofill — Fill current path using even-odd rule
  - HaruPage::eoFillStroke — Fill current path using even-odd rule, then paint the path
  - HaruPage::fill — Fill current path using nonzero winding number rule
  - HaruPage::fillStroke — Fill current path using nonzero winding number rule, then paint the path
  - HaruPage::getCharSpace — Get the current value of character spacing
  - HaruPage::getCMYKFill — Get the current filling color
  - HaruPage::getCMYKStroke — Get the current stroking color
  - HaruPage::getCurrentFont — Get the currently used font
  - HaruPage::getCurrentFontSize — Get the current font size
  - HaruPage::getCurrentPos — Get the current position for path painting
  - HaruPage::getCurrentTextPos — Get the current position for text printing
  - HaruPage::getDash — Get the current dash pattern
  - HaruPage::getFillingColorSpace — Get the current filling color space
  - HaruPage::getFlatness — Get the flatness of the page
  - HaruPage::getGMode — Get the current graphics mode
  - HaruPage::getGrayFill — Get the current filling color
  - HaruPage::getGrayStroke — Get the current stroking color
  - HaruPage::getHeight — Get the height of the page
  - HaruPage::getHorizontalScaling — Get the current value of horizontal scaling
  - HaruPage::getLineCap — Get the current line cap style
  - HaruPage::getLineJoin — Get the current line join style
  - HaruPage::getLineWidth — Get the current line width
  - HaruPage::getMiterLimit — Get the value of miter limit
  - HaruPage::getRGBFill — Get the current filling color
  - HaruPage::getRGBStroke — Get the current stroking color
  - HaruPage::getStrokingColorSpace — Get the current stroking color space
  - HaruPage::getTextLeading — Get the current value of line spacing
  - HaruPage::getTextMatrix — Get the current text transformation matrix of the page
  - HaruPage::getTextRenderingMode — Get the current text rendering mode
  - HaruPage::getTextRise — Get the current value of text rising
  - HaruPage::getTextWidth — Get the width of the text using current fontsize, character spacing and word spacing
  - HaruPage::getTransMatrix — Get the current transformation matrix of the page
  - HaruPage::getWidth — Get the width of the page
  - HaruPage::getWordSpace — Get the current value of word spacing
  - HaruPage::lineTo — Draw a line from the current point to the specified point
  - HaruPage::measureText — Calculate the byte length of characters which can be included on one line of the specified width
  - HaruPage::moveTextPos — Move text position to the specified offset
  - HaruPage::moveTo — Set starting point for new drawing path
  - HaruPage::moveToNextLine — Move text position to the start of the next line
  - HaruPage::rectangle — Append a rectangle to the current path
  - HaruPage::setCharSpace — Set character spacing for the page
  - HaruPage::setCMYKFill — Set filling color for the page
  - HaruPage::setCMYKStroke — Set stroking color for the page
  - HaruPage::setDash — Set the dash pattern for the page
  - HaruPage::setFlatness — Set flatness for the page
  - HaruPage::setFontAndSize — Set font and fontsize for the page
  - HaruPage::setGrayFill — Set filling color for the page
  - HaruPage::setGrayStroke — Sets stroking color for the page
  - HaruPage::setHeight — Set height of the page
  - HaruPage::setHorizontalScaling — Set horizontal scaling for the page
  - HaruPage::setLineCap — Set the shape to be used at the ends of lines
  - HaruPage::setLineJoin — Set line join style for the page
  - HaruPage::setLineWidth — Set line width for the page
  - HaruPage::setMiterLimit — Set the current value of the miter limit of the page
  - HaruPage::setRGBFill — Set filling color for the page
  - HaruPage::setRGBStroke — Set stroking color for the page
  - HaruPage::setRotate — Set rotation angle of the page
  - HaruPage::setSize — Set size and direction of the page
  - HaruPage::setSlideShow — Set transition style for the page
  - HaruPage::setTextLeading — Set text leading (line spacing) for the page
  - HaruPage::setTextMatrix — Set the current text transformation matrix of the page
  - HaruPage::setTextRenderingMode — Set text rendering mode for the page
  - HaruPage::setTextRise — Set the current value of text rising
  - HaruPage::setWidth — Set width of the page
  - HaruPage::setWordSpace — Set word spacing for the page
  - HaruPage::showText — Print text at the current position of the page
  - HaruPage::showTextNextLine — Move the current position to the start of the next line and print the text
  - HaruPage::stroke — Paint current path
  - HaruPage::textOut — Print the text on the specified position
  - HaruPage::textRect — Print the text inside the specified region
- HaruFont — The HaruFont class
  - HaruFont::getAscent — Get the vertical ascent of the font
  - HaruFont::getCapHeight — Get the distance from the baseline of uppercase letters
  - HaruFont::getDescent — Get the vertical descent of the font
  - HaruFont::getEncodingName — Get the name of the encoding
  - HaruFont::getFontName — Get the name of the font
  - HaruFont::getTextWidth — Get the total width of the text, number of characters, number of words and number of spaces
  - HaruFont::getUnicodeWidth — Get the width of the character in the font
  - HaruFont::getXHeight — Get the distance from the baseline of lowercase letters
  - HaruFont::measureText — Calculate the number of characters which can be included within the specified width
- HaruImage — The HaruImage class
  - HaruImage::getBitsPerComponent — Get the number of bits used to describe each color component of the image
  - HaruImage::getColorSpace — Get the name of the color space
  - HaruImage::getHeight — Get the height of the image
  - HaruImage::getSize — Get size of the image
  - HaruImage::getWidth — Get the width of the image
  - HaruImage::setColorMask — Set the color mask of the image
  - HaruImage::setMaskImage — Set the image mask
- HaruEncoder — The HaruEncoder class
  - HaruEncoder::getByteType — Get the type of the byte in the text
  - HaruEncoder::getType — Get the type of the encoder
  - HaruEncoder::getUnicode — Convert the specified character to unicode
  - HaruEncoder::getWritingMode — Get the writing mode of the encoder
- HaruOutline — The HaruOutline class
  - HaruOutline::setDestination — Set the destination for the outline
  - HaruOutline::setOpened — Set the initial state of the outline
- HaruAnnotation — The HaruAnnotation class
  - HaruAnnotation::setBorderStyle — Set the border style of the annotation
  - HaruAnnotation::setHighlightMode — Set the highlighting mode of the annotation
  - HaruAnnotation::setIcon — Set the icon style of the annotation
  - HaruAnnotation::setOpened — Set the initial state of the annotation
- HaruDestination — The HaruDestination class
  - HaruDestination::setFit — Set the appearance of the page to fit the window
  - HaruDestination::setFitB — Set the appearance of the page to fit the bounding box of the page within the window
  - HaruDestination::setFitBH — Set the appearance of the page to fit the width of the bounding box
  - HaruDestination::setFitBV — Set the appearance of the page to fit the height of the boudning box
  - HaruDestination::setFitH — Set the appearance of the page to fit the window width
  - HaruDestination::setFitR — Set the appearance of the page to fit the specified rectangle
  - HaruDestination::setFitV — Set the appearance of the page to fit the window height
  - HaruDestination::setXYZ — Set the appearance of the page