Public API¶
The public API is the set of names exported from rtfstruct.__init__. Internal
modules may change while the project is pre-1.0.
Reading¶
from rtfstruct import ParserOptions, parse_rtf, read_rtf
document = parse_rtf(r"{\rtf1\ansi Hello}")
document_with_spans = parse_rtf(
r"{\rtf1\ansi Hello}",
options=ParserOptions(track_spans=True),
)
file_document = read_rtf("input.rtf")
Exporting¶
from rtfstruct import MarkdownOptions, to_rtf, write_rtf
data = document.to_json()
markdown = document.to_markdown(options=MarkdownOptions(preserve_colors=True))
rtf = to_rtf(document)
write_rtf(document, "output.rtf")
Diagnostics¶
for diagnostic in document.diagnostics:
print(diagnostic.severity.value, diagnostic.code, diagnostic.message)
Public Names¶
The package re-exports the primary document nodes, options, diagnostics, and
entry points from rtfstruct:
AST nodes:
Document,Paragraph,TextRun,TextStyle,ParagraphStyle,ListBlock,ListItem,Table,TableCell,Link,Field,Footnote,FootnoteRef,Annotation,AnnotationRef,Image,ImageInline,LineBreak,Tab,Metadata,Color, andSourceSpan.Options:
ParserOptions,JsonOptions, andMarkdownOptions.Diagnostics and errors:
Diagnostic,Severity,RtfError, andRtfSyntaxError.Functions:
parse_rtf,read_rtf,to_markdown,to_rtf, andwrite_rtf.
Detailed API reference is split across the AST, parser, JSON, Markdown, writer, and diagnostics pages.