PdfElixide.Document (pdf_elixide v0.3.1)

Copy Markdown View Source

Read-only representation of a PDF document.

Summary

Functions

Extracts the text content of the page at the given zero-based index.

Extracts the text content of the page at the given zero-based index, raising an error if it fails.

Opens a PDF document from the given binary data.

Opens a PDF document from the given binary data, raising an error if it fails.

Opens a PDF document from the specified file path.

Opens a PDF document from the specified file path, raising an error if it fails.

Returns the number of pages in the given PDF document.

Returns the number of pages in the given PDF document, raising an error if it fails.

Returns the file path from which the document was loaded, or nil if it was loaded from binary data.

Returns the PDF specification version of the given document as a {major, minor} tuple.

Types

t()

@type t() :: %PdfElixide.Document{
  ref: reference(),
  source_path: Path.t() | nil,
  version: {non_neg_integer(), non_neg_integer()}
}

Functions

extract_text(document, page_index)

@spec extract_text(t(), non_neg_integer()) :: {:ok, binary()} | {:error, term()}

Extracts the text content of the page at the given zero-based index.

extract_text!(doc, page_index)

@spec extract_text!(t(), non_neg_integer()) :: binary()

Extracts the text content of the page at the given zero-based index, raising an error if it fails.

from_binary(bytes)

@spec from_binary(binary()) :: {:ok, t()} | {:error, term()}

Opens a PDF document from the given binary data.

from_binary!(bytes)

@spec from_binary!(binary()) :: t()

Opens a PDF document from the given binary data, raising an error if it fails.

open(path)

@spec open(Path.t()) :: {:ok, t()} | {:error, term()}

Opens a PDF document from the specified file path.

open!(path)

@spec open!(Path.t()) :: t()

Opens a PDF document from the specified file path, raising an error if it fails.

page_count(document)

@spec page_count(t()) :: {:ok, non_neg_integer()} | {:error, term()}

Returns the number of pages in the given PDF document.

page_count!(doc)

@spec page_count!(t()) :: non_neg_integer()

Returns the number of pages in the given PDF document, raising an error if it fails.

source_path(document)

@spec source_path(t()) :: Path.t() | nil

Returns the file path from which the document was loaded, or nil if it was loaded from binary data.

version(document)

@spec version(t()) :: {non_neg_integer(), non_neg_integer()}

Returns the PDF specification version of the given document as a {major, minor} tuple.