#page #pdf #document #org #binding #haru #font

libharu

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

3 releases

0.1.5 Oct 12, 2021
0.1.4 Oct 9, 2021
0.1.2 Oct 8, 2021

#125 in Rendering

MIT license

90KB
2K SLoC

libharu-rs

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

API implementaion status

Document Handling Functions

C API Rust API
HPDF_New Document::new
HPDF_NewEx
HPDF_Free Document::drop (impl Drop trait)
HPDF_NewDoc
HPDF_FreeDoc
HPDF_FreeDocAll
HPDF_SaveToFile Document::save_to_file
HPDF_SaveToStream
HPDF_GetStreamSize
HPDF_ReadFromStream
HPDF_ResetStream
HPDF_HasDoc
HPDF_SetErrorHandler
HPDF_GetError
HPDF_ResetError
HPDF_SetPagesConfiguration
HPDF_SetPageLayout Document::set_page_layout
HPDF_GetPageLayout Document::page_layout
HPDF_SetPageMode Document::set_page_mode
HPDF_GetPageMode Document::page_mode
HPDF_SetOpenAction Document::set_open_action
HPDF_GetCurrentPage Document::current_page
HPDF_AddPage Document::add_page
HPDF_InsertPage Document::insert_page
HPDF_GetFont Document::font
HPDF_LoadType1FontFromFile
HPDF_LoadTTFontFromFile Document::load_ttf_font
HPDF_LoadTTFontFromFile2 Document::load_ttf_font_from_ttc
HPDF_AddPageLabel Document::add_page_label
HPDF_UseJPFonts Document::use_jpfonts
HPDF_UseKRFonts Document::use_krfonts
HPDF_UseCNSFonts Document::use_cnsfonts
HPDF_UseCNTFonts Document::use_cntfonts
HPDF_CreateOutline Document::craete_outline / Document::create_outline_bytes
HPDF_GetEncoder Document::find_encoder
HPDF_GetCurrentEncoder Document::current_encoder
HPDF_SetCurrentEncoder Document::set_current_endoer
HPDF_UseJPEncodings Document::use_jpencodings
HPDF_UseKREncodings Document::use_krencodings
HPDF_UseCNSEncodings Document::use_cnsencodings
HPDF_UseCNTEncodings Document::use_cntencodings
HPDF_LoadPngImageFromFile Document::load_png_image
HPDF_LoadPngImageFromFile2
HPDF_LoadRawImageFromFile
HPDF_LoadRawImageFromFile2
HPDF_LoadRawImageFromMem
HPDF_LoadJpegImageFromFile
HPDF_SetInfoAttr
HPDF_GetInfoAttr
HPDF_SetInfoDateAttr
HPDF_SetPassword
HPDF_SetPermission
HPDF_SetEncryptionMode
HPDF_SetCompressionMode Document::set_compression_mode

Page Handling Functions

C API Rust API
HPDF_Page_SetWidth Page::set_width
HPDF_Page_SetHeight Page::set_height
HPDF_Page_SetSize Page::set_size
HPDF_Page_SetRotate Page::set_rotate
HPDF_Page_GetWidth Page::width
HPDF_Page_GetHeight Page::height
HPDF_Page_CreateDestination Page::create_destination
HPDF_Page_CreateTextAnnot
HPDF_Page_CreateLinkAnnot
HPDF_Page_CreateURILinkAnnot
HPDF_Page_TextWidth Page::text_width
HPDF_Page_MeasureText Page::measure_text / Page::measure_text_bytes
HPDF_Page_GetGMode
HPDF_Page_GetCurrentPos
HPDF_Page_GetCurrentTextPos Page::current_text_pos
HPDF_Page_GetCurrentFont Page::current_font
HPDF_Page_GetCurrentFontSize Page::current_font_size
HPDF_Page_GetTransMatrix
HPDF_Page_GetLineWidth Page::line_width
HPDF_Page_GetLineCap
HPDF_Page_GetLineJoin
HPDF_Page_GetMiterLimit
HPDF_Page_GetDash
HPDF_Page_GetFlat
HPDF_Page_GetCharSpace
HPDF_Page_GetWordSpace
HPDF_Page_GetHorizontalScaling
HPDF_Page_GetTextLeading Page::text_leading
HPDF_Page_GetTextRenderingMode
HPDF_Page_GetTextRise
HPDF_Page_GetRGBFill Page::rgb_fill
HPDF_Page_GetRGBStroke
HPDF_Page_GetCMYKFill
HPDF_Page_GetCMYKStroke
HPDF_Page_GetGrayFill
HPDF_Page_GetGrayStroke
HPDF_Page_GetStrokingColorSpace
HPDF_Page_GetFillingColorSpace
HPDF_Page_GetTextMatrix
HPDF_Page_GetGStateDepth
HPDF_Page_SetSlideShow

Graphics

C API Rust API
HPDF_Page_SetLineWidth Page::set_line_width
HPDF_Page_SetLineCap Page::set_line_cap
HPDF_Page_SetLineJoin Page::set_line_join
HPDF_Page_SetMiterLimit
HPDF_Page_SetDash Page::set_dash / Page::clear_dash
HPDF_Page_SetExtGState
HPDF_Page_GSave Page::gsave
HPDF_Page_GRestore Page::grestore
HPDF_Page_Concat
HPDF_Page_MoveTo Page::move_to
HPDF_Page_LineTo Page::line_to
HPDF_Page_CurveTo Page::curve_to
HPDF_Page_CurveTo2 Page::curve_to_2
HPDF_Page_CurveTo3 Page::curve_to_3
HPDF_Page_ClosePath
HPDF_Page_Rectangle Page::rectangle
HPDF_Page_Stroke Page::stroke
HPDF_Page_ClosePathStroke
HPDF_Page_Fill Page::fill
HPDF_Page_Eofill
HPDF_Page_FillStroke Page::fill_stroke
HPDF_Page_EofillStroke
HPDF_Page_ClosePathFillStroke
HPDF_Page_ClosePathEofillStroke
HPDF_Page_EndPath
HPDF_Page_Clip Page::clip
HPDF_Page_Eoclip
HPDF_Page_BeginText Page::begin_text
HPDF_Page_EndText Page::end_text
HPDF_Page_SetCharSpace Page::set_char_space
HPDF_Page_SetWordSpace Page::set_word_space
HPDF_Page_SetHorizontalScalling
HPDF_Page_SetTextLeading Page::set_text_leading
HPDF_Page_SetFontAndSize Page::set_font_and_size
HPDF_Page_SetTextRenderingMode Page::set_text_rendering_mode
HPDF_Page_SetTextRise
HPDF_Page_MoveTextPos Page::move_text_pos
HPDF_Page_MoveTextPos2
HPDF_Page_SetTextMatrix Page::set_text_matrix
HPDF_Page_MoveToNextLine
HPDF_Page_ShowText Page::show_text / Page::show_text_bytes
HPDF_Page_ShowTextNextLine Page::show_text_next_line / Page::show_text_next_line_bytes
HPDF_Page_ShowTextNextLineEx
HPDF_Page_SetGrayFill Page::set_gray_fill
HPDF_Page_SetGrayStroke Page::set_gray_stroke
HPDF_Page_SetRGBFill Page::set_rgb_fill
HPDF_Page_SetRGBStroke Page::set_rgb_stroke
HPDF_Page_SetCMYKFill
HPDF_Page_SetCMYKStroke
HPDF_Page_ExecuteXObject
HPDF_Page_DrawImage Page::draw_image
HPDF_Page_Circle
HPDF_Page_Arc
HPDF_Page_TextOut Page::text_out / Page::text_out_bytes
HPDF_Page_TextRect

Font Handling

C API Rust API
HPDF_Font_GetFontName
HPDF_Font_GetBBox
HPDF_Font_GetAscent
HPDF_Font_GetDescent
HPDF_Font_GetXHeight
HPDF_Font_GetCapHeight
HPDF_Font_TextWidth
HPDF_Font_MeasureText

Encoder

C API Rust API
HPDF_Encoder_GetType Encoder::encoder_type
HPDF_Encoder_GetByteType Encoder::byte_type
HPDF_Encoder_GetUnicode
HPDF_Encoder_GetWritingMode

Annotation

C API Rust API
HPDF_LinkAnnot_SetHighlightMode
HPDF_LinkAnnot_SetBorderStyle
HPDF_LinkAnnot_SetIcon
HPDF_LinkAnnot_SetOpened

Outline

C API Rust API
HPDF_Outline_SetOpened Outline::set_opened
HPDF_Outline_SetDestination Outline::set_destination

Destination

C API Rust API
HPDF_Destination_SetXYZ Destination::set_syz
HPDF_Destination_SetFit
HPDF_Destination_SetFitH
HPDF_Destination_SetFitV
HPDF_Destination_SetFitR
HPDF_Destination_SetFitB
HPDF_Destination_SetFitBH
HPDF_Destination_SetFitBV

Image

C API Rust API
HPDF_Image_GetSize
HPDF_Image_GetWidth Image::width
HPDF_Image_GetHeight Image::height
HPDF_Image_GetBitsPerComponent
HPDF_Image_GetColorSpace
HPDF_Image_SetColorMask
HPDF_Image_SetMaskImage

Dependencies

~3.5MB
~132K SLoC