pub enum InputFormat {
Show 47 variants
Docx,
Pptx,
Html,
Image,
Pdf,
Asciidoc,
Md,
Csv,
Xlsx,
Doc,
Xls,
Ppt,
Odt,
Ods,
Odp,
XmlUspto,
XmlJats,
XmlXbrl,
XmlDoclang,
DocTags,
Dclx,
MetsGbs,
JsonDocling,
Audio,
Video,
Vtt,
Ebcdic,
Latex,
Email,
Epub,
Mhtml,
Rtf,
Visio,
Svg,
Pages,
Numbers,
Keynote,
Abiword,
WordPerfect,
Works,
Dbf,
Dif,
Sylk,
QuattroPro,
Lotus,
StarOffice5,
Djvu,
}Expand description
A document format supported by docling.rs backends.
Variants§
Docx
Pptx
Html
Image
Asciidoc
Md
Csv
Xlsx
Doc
Word 97–2004 binary (.doc) — parsed natively (CFB + MS-DOC), no
external converter (docling shells out to LibreOffice for these).
Xls
Excel 97–2004 binary (.xls, BIFF8) — parsed natively via calamine.
Ppt
PowerPoint 97–2003 binary (.ppt) — parsed natively (CFB + MS-PPT).
Odt
Ods
Odp
XmlUspto
XmlJats
XmlXbrl
XmlDoclang
DocTags
Raw DocTags markup (.doctags/.dt) — the token stream docling’s
VLMs emit, parsed by docling_core::doctags (#152).
Dclx
A DocLang OPC archive (.dclx, the format --to dclx writes).
MetsGbs
JsonDocling
Audio
Video
Video containers (.mp4/.avi/.mov/.mkv/.webm) — Phase 1 of
issue #138 transcribes the audio track through the ASR pipeline
(mirrors docling’s InputFormat.VIDEO, v2.114).
Vtt
Ebcdic
EBCDIC mainframe data + JSON copybook layout (#252, docling 2.118).
Latex
Epub
Mhtml
MIME HTML archive (.mhtml/.mht) — docling’s InputFormat.MHTML
(docling#4184), unwrapped and converted as HTML.
Rtf
Rich Text Format (.rtf) — a docling.rs extension (#209); docling
converts RTF only by shelling out to LibreOffice.
Visio
Microsoft Visio (.vsdx, .vsdm) — a docling.rs extension (#214);
docling has no Visio reader. Pages become sections, shape text flows
in reading order, connectors become a relations table.
Svg
SVG (.svg) — a docling.rs extension (#212); docling does not accept
SVG input. Mirrors the pdf / pdf-text split: the ML build rasterizes
(resvg) and rides the image pipeline; without ML — or under --no-ocr
— <text> elements are extracted directly into flat paragraphs.
Pages
Apple Pages (.pages) — a conformance format (#318, #383): mirrors
docling’s IWorkPagesDocumentBackend for both the 2013+ IWA package
and the iWork ’09 index.xml generation.
Numbers
Apple Numbers (.numbers), same IWA machinery as Self::Pages.
Keynote
Apple Keynote (.key), same IWA machinery as Self::Pages.
Abiword
AbiWord (.abw/.zabw/.awt) — a docling.rs extension (#216);
AWML XML (gzip-wrapped for .zabw), parsed natively.
WordPerfect
WordPerfect 5.x / 6.x+ documents (.wpd, .wp, .wp5, .wp6,
.wpt) — a docling.rs extension (#216); the ÿWPC byte stream is
parsed natively (docling reaches WordPerfect only via LibreOffice’s
libwpd), text-level with bold/italic/underline runs.
Works
Microsoft Works word-processor documents (.wps) — a docling.rs
extension (#216); Works 2.x DOS / 3 / 4 (WPS4) and Works 2000 / 6–9
(WPS8, OLE CONTENTS) parsed natively after libwps’ readers.
Dbf
dBase table (.dbf) — a docling.rs extension (#216); the field
descriptors become the header row, records the data rows.
Dif
Data Interchange Format (.dif) — a docling.rs extension (#216);
sheet snapshot, split into data regions like an ODS sheet.
Sylk
SYLK (.slk/.sylk) — a docling.rs extension (#216); same
sheet-region conversion as DIF.
QuattroPro
Quattro Pro spreadsheets (.wq1/.wq2 DOS, .wb1–.wb3 Windows,
.qpw 9–X9) — a docling.rs extension (#216) parsed natively after
libwps’ readers.
Lotus
Lotus 1-2-3 / Symphony / MS Works spreadsheets (.wk1–.wk4,
.wks, .wrk, .123) — a docling.rs extension (#216); the DOS-era
record streams, content-sniffed on the BOF record and split into data
regions like an ODS sheet.
StarOffice5
StarOffice 5 binaries (.sdw/.sda/.sdd/.vor) — a docling.rs
extension (#215); CFB containers parsed natively (text-level
extraction). The document kind comes from the stream inside, so a
.vor template of any application dispatches by content. StarCalc
(.sdc) is a follow-up.
Djvu
DjVu scanned documents (.djvu/.djv) — a docling.rs extension (#434);
docling has no DjVu reader. Decoded in pure Rust (djvu-rs): the
hidden per-page text layer by default, rasterize + OCR for scan-only
pages when the ML pipeline is built.
Implementations§
Source§impl InputFormat
impl InputFormat
Sourcepub fn from_extension(ext: &str) -> Option<Self>
pub fn from_extension(ext: &str) -> Option<Self>
Best-effort format detection from a file extension (case-insensitive).
Ambiguous extensions (notably bare xml) resolve to a single default
here; the converter’s content sniffing does the real disambiguation.
Trait Implementations§
Source§impl Clone for InputFormat
impl Clone for InputFormat
impl Copy for InputFormat
Source§impl Debug for InputFormat
impl Debug for InputFormat
impl Eq for InputFormat
Source§impl Hash for InputFormat
impl Hash for InputFormat
Source§impl PartialEq for InputFormat
impl PartialEq for InputFormat
impl StructuralPartialEq for InputFormat
Auto Trait Implementations§
impl Freeze for InputFormat
impl RefUnwindSafe for InputFormat
impl Send for InputFormat
impl Sync for InputFormat
impl Unpin for InputFormat
impl UnsafeUnpin for InputFormat
impl UnwindSafe for InputFormat
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more