libharu-rs

Rust binding for libharu(http://libharu.org/) PDF library.

API implementaion status

Document Handling Functions

| C API | Rust API | |-----------------------------|-| | HPDFNew | Document::new | | HPDFNewEx | | | HPDFFree | Document::drop (impl Drop trait) | | HPDFNewDoc | | | HPDFFreeDoc | | | HPDFFreeDocAll | | | HPDFSaveToFile | Document::savetofile | | HPDFSaveToStream | | | HPDFGetStreamSize | | | HPDFReadFromStream | | | HPDFResetStream | | | HPDFHasDoc | | | HPDFSetErrorHandler | | | HPDFGetError | | | HPDFResetError | | | HPDFSetPagesConfiguration | | | HPDFSetPageLayout | Document::setpagelayout | | HPDFGetPageLayout | Document::pagelayout | | HPDFSetPageMode | Document::setpagemode | | HPDFGetPageMode | Document::pagemode | | HPDFSetOpenAction | | | HPDFGetCurrentPage | | | HPDFAddPage | Document::addpage | | HPDFInsertPage | Document::insertpage | | HPDFGetFont | Document::font | | HPDFLoadType1FontFromFile | | | HPDFLoadTTFontFromFile | Document::loadttffont | | HPDFLoadTTFontFromFile2 | | | HPDFAddPageLabel | Document::addpagelabel | | HPDFUseJPFonts | Document::usejpfonts | | HPDFUseKRFonts | Document::usekrfonts | | HPDFUseCNSFonts | Document::usecnsfonts | | HPDFUseCNTFonts | Document::usecntfonts | | HPDFCreateOutline | Document::craeteoutline / Document::createoutlinebytes | | HPDFGetEncoder | Document::findencoder | | HPDFGetCurrentEncoder | Document::currentencoder | | HPDFSetCurrentEncoder | Document::setcurrentendoer | | HPDFUseJPEncodings | Document::usejpencodings | | HPDFUseKREncodings | Document::usekrencodings | | HPDFUseCNSEncodings | Document::usecnsencodings | | HPDFUseCNTEncodings | Document::usecntencodings | | HPDFLoadPngImageFromFile | | | HPDFLoadPngImageFromFile2 | | | HPDFLoadRawImageFromFile | | | HPDFLoadRawImageFromFile2 | | | HPDFLoadRawImageFromMem | | | HPDFLoadJpegImageFromFile | | | HPDFSetInfoAttr | | | HPDFGetInfoAttr | | | HPDFSetInfoDateAttr | | | HPDFSetPassword | | | HPDFSetPermission | | | HPDFSetEncryptionMode | | | HPDFSetCompressionMode | Document::setcompression_mode |

Page Handling Functions

| C API | Rust API | |---------------------------------|-| | HPDFPageSetWidth | Page::setwidth | | HPDFPageSetHeight | Page::setheight | | HPDFPageSetSize | Page::setsize | | HPDFPageSetRotate | Page::setrotate | | HPDFPageGetWidth | Page::width | | HPDFPageGetHeight | Page::height | | HPDFPageCreateDestination | Page::createdestination | | HPDFPageCreateTextAnnot | | | HPDFPageCreateLinkAnnot | | | HPDFPageCreateURILinkAnnot | | | HPDFPageTextWidth | Page::textwidth | | HPDFPageMeasureText | Page::measuretext / Page::measuretextbytes | | HPDFPageGetGMode | | | HPDFPageGetCurrentPos | | | HPDFPageGetCurrentTextPos | Page::currenttextpos | | HPDFPageGetCurrentFont | Page::currentfont | | HPDFPageGetCurrentFontSize | Page::currentfontsize | | HPDFPageGetTransMatrix | | | HPDFPageGetLineWidth | Page::linewidth | | HPDFPageGetLineCap | | | HPDFPageGetLineJoin | | | HPDFPageGetMiterLimit | | | HPDFPageGetDash | | | HPDFPageGetFlat | | | HPDFPageGetCharSpace | | | HPDFPageGetWordSpace | | | HPDFPageGetHorizontalScaling | | | HPDFPageGetTextLeading | Page::textleading | | HPDFPageGetTextRenderingMode | | | HPDFPageGetTextRise | | | HPDFPageGetRGBFill | Page::rgbfill | | HPDFPageGetRGBStroke | | | HPDFPageGetCMYKFill | | | HPDFPageGetCMYKStroke | | | HPDFPageGetGrayFill | | | HPDFPageGetGrayStroke | | | HPDFPageGetStrokingColorSpace | | | HPDFPageGetFillingColorSpace | | | HPDFPageGetTextMatrix | | | HPDFPageGetGStateDepth | | | HPDFPage_SetSlideShow | |

Graphics

| C API | Rust API | |------------------------------------|-| | HPDFPageSetLineWidth | Page::setlinewidth | | HPDFPageSetLineCap | Page::setlinecap | | HPDFPageSetLineJoin | Page::setlinejoin | | HPDFPageSetMiterLimit | | | HPDFPageSetDash | Page::setdash / Page::cleardash | | HPDFPageSetExtGState | | | HPDFPageGSave | Page::gsave | | HPDFPageGRestore | Page::grestore | | HPDFPageConcat | | | HPDFPageMoveTo | Page::moveto | | HPDFPageLineTo | Page::lineto | | HPDFPageCurveTo | Page::curveto | | HPDFPageCurveTo2 | Page::curveto2 | | HPDFPageCurveTo3 | Page::curveto3 | | HPDFPageClosePath | | | HPDFPageRectangle | Page::rectangle | | HPDFPageStroke | Page::stroke | | HPDFPageClosePathStroke | | | HPDFPageFill | Page::fill | | HPDFPageEofill | | | HPDFPageFillStroke | Page::fillstroke | | HPDFPageEofillStroke | | | HPDFPageClosePathFillStroke | | | HPDFPageClosePathEofillStroke | | | HPDFPageEndPath | | | HPDFPageClip | Page::clip | | HPDFPageEoclip | | | HPDFPageBeginText | Page::begintext | | HPDFPageEndText | Page::endtext | | HPDFPageSetCharSpace | Page::setcharspace | | HPDFPageSetWordSpace | Page::setwordspace | | HPDFPageSetHorizontalScalling | | | HPDFPageSetTextLeading | Page::settextleading | | HPDFPageSetFontAndSize | Page::setfontandsize | | HPDFPageSetTextRenderingMode | Page::settextrenderingmode | | HPDFPageSetTextRise | | | HPDFPageMoveTextPos | Page::movetextpos | | HPDFPageMoveTextPos2 | | | HPDFPageSetTextMatrix | Page::settextmatrix | | HPDFPageMoveToNextLine | | | HPDFPageShowText | Page::showtext / Page::showtextbytes | | HPDFPageShowTextNextLine | Page::showtextnextline / Page::showtextnextlinebytes | | HPDFPageShowTextNextLineEx | | | HPDFPageSetGrayFill | Page::setgrayfill | | HPDFPageSetGrayStroke | Page::setgraystroke | | HPDFPageSetRGBFill | Page::setrgbfill | | HPDFPageSetRGBStroke | Page::setrgbstroke | | HPDFPageSetCMYKFill | | | HPDFPageSetCMYKStroke | | | HPDFPageExecuteXObject | | | HPDFPageDrawImage | | | HPDFPageCircle | | | HPDFPageArc | | | HPDFPageTextOut | Page::textout / Page::textoutbytes | | HPDFPage_TextRect | |

Font Handling

| C API | Rust API | |------------------------------------|-| | HPDFFontGetFontName | | | HPDFFontGetBBox | | | HPDFFontGetAscent | | | HPDFFontGetDescent | | | HPDFFontGetXHeight | | | HPDFFontGetCapHeight | | | HPDFFontTextWidth | | | HPDFFontMeasureText | |

Encoder

| C API | Rust API | |------------------------------------|-| | HPDFEncoderGetType | Encoder::encodertype | | HPDFEncoderGetByteType | Encoder::bytetype | | HPDFEncoderGetUnicode | | | HPDFEncoderGetWritingMode | |

Annotation

| C API | Rust API | |------------------------------------|-| | HPDFLinkAnnotSetHighlightMode | | | HPDFLinkAnnotSetBorderStyle | | | HPDFLinkAnnotSetIcon | | | HPDFLinkAnnotSetOpened | |

Outline

| C API | Rust API | |------------------------------------|-| | HPDFOutlineSetOpened | Outline::setopened | | HPDFOutlineSetDestination | Outline::setdestination |

Destination

| C API | Rust API | |------------------------------------|-| | HPDFDestinationSetXYZ | | | HPDFDestinationSetFit | | | HPDFDestinationSetFitH | | | HPDFDestinationSetFitV | | | HPDFDestinationSetFitR | | | HPDFDestinationSetFitB | | | HPDFDestinationSetFitBH | | | HPDFDestinationSetFitBV | |

Image

| C API | Rust API | |------------------------------------|-| | HPDFImageGetSize | | | HPDFImageGetWidth | | | HPDFImageGetHeight | | | HPDFImageGetBitsPerComponent | | | HPDFImageGetColorSpace | | | HPDFImageSetColorMask | | | HPDFImageSetMaskImage | |