Module: PdfOxide::MarkdownConverter
- Defined in:
- lib/pdf_oxide/markdown_converter.rb
Overview
Static converters from a PdfDocument to Markdown or HTML.
Mirrors ‘fyi.oxide.pdf.MarkdownConverter`. Stateless — every method takes the document handle as an argument. Per-page and whole-document variants are offered for both Markdown and HTML.
Class Method Summary collapse
-
.to_html(doc, page_index = nil) ⇒ String
Convert a page (or the whole document) to HTML.
-
.to_markdown(doc, page_index = nil) ⇒ String
Convert a page (or the whole document) to Markdown.
Class Method Details
.to_html(doc, page_index = nil) ⇒ String
Convert a page (or the whole document) to HTML.
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'lib/pdf_oxide/markdown_converter.rb', line 36 def to_html(doc, page_index = nil) raise ::PdfOxide::ArgumentError, 'doc cannot be nil' if doc.nil? err = ::FFI::MemoryPointer.new(:int32) ptr = if page_index.nil? Bindings.pdf_document_to_html_all(doc.handle, err) else Bindings.pdf_document_to_html(doc.handle, page_index, err) end code = err.read_int32 raise InternalError, "to_html failed (#{code})" if code != 0 StringMarshaller.from_c_string(ptr) || '' end |
.to_markdown(doc, page_index = nil) ⇒ String
Convert a page (or the whole document) to Markdown.
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
# File 'lib/pdf_oxide/markdown_converter.rb', line 16 def to_markdown(doc, page_index = nil) raise ::PdfOxide::ArgumentError, 'doc cannot be nil' if doc.nil? err = ::FFI::MemoryPointer.new(:int32) ptr = if page_index.nil? Bindings.pdf_document_to_markdown_all(doc.handle, err) else Bindings.pdf_document_to_markdown(doc.handle, page_index, err) end code = err.read_int32 raise InternalError, "to_markdown failed (#{code})" if code != 0 StringMarshaller.from_c_string(ptr) || '' end |