Formats

PDF

Portable Document Format

Introduction

Portable Document Format (PDF) is an output format that can be used to render documents suitable for publication or sharing.

Usage

Use the .pdf file extension, or the --to pdf option, when converting to PDF e.g.

stencila convert doc.smd doc.pdf

Implementation

Stencila provides lossy bidirectional conversion to PDF is powered by Pandoc. To convert documents to PDF, you will need to have Pandoc and a PDF engine installed. See the pandoc format for more details.

Support

Stencila supports these operations for PDF:

  • decoding from a file
  • encoding to a file

Support and degree of loss by node type:

Node type Encoding Decoding Notes
Works
Article 🔷 Low loss
AudioObject 🔷 Low loss
AuthorRole 🔷 Low loss
Chat 🔷 Low loss
ChatMessage 🔷 Low loss
ChatMessageGroup 🔷 Low loss
Claim 🔷 Low loss
Collection 🔷 Low loss
Comment 🔷 Low loss
CreativeWork 🔷 Low loss
Directory 🔷 Low loss
Figure 🔷 Low loss
File 🔷 Low loss
ImageObject 🔷 Low loss
MediaObject 🔷 Low loss
Periodical 🔷 Low loss
Prompt 🔷 Low loss
PublicationIssue 🔷 Low loss
PublicationVolume 🔷 Low loss
Review 🔷 Low loss
SoftwareApplication 🔷 Low loss
SoftwareSourceCode 🔷 Low loss
Table 🔷 Low loss
TableCell 🔷 Low loss
TableRow 🔷 Low loss
VideoObject 🔷 Low loss
Prose
Admonition 🔷 Low loss
Annotation 🔷 Low loss
Cite 🔷 Low loss
CiteGroup 🔷 Low loss
DefinedTerm 🔷 Low loss
Emphasis 🔷 Low loss
Heading 🔷 Low loss
Link 🔷 Low loss
List 🔷 Low loss
ListItem 🔷 Low loss
Note 🔷 Low loss
Paragraph 🔷 Low loss
QuoteBlock 🔷 Low loss
QuoteInline 🔷 Low loss
Section 🔷 Low loss
Strikeout 🔷 Low loss
Strong 🔷 Low loss
Subscript 🔷 Low loss
Superscript 🔷 Low loss
Text 🔷 Low loss
ThematicBreak 🔷 Low loss
Underline 🔷 Low loss
Math
MathBlock 🔷 Low loss
MathInline 🔷 Low loss
Code
CodeBlock 🔷 Low loss
CodeChunk 🔷 Low loss
CodeExpression 🔷 Low loss
CodeInline 🔷 Low loss
CompilationMessage 🔷 Low loss
ExecutionMessage 🔷 Low loss
Data
Array 🔷 Low loss
ArrayHint 🔷 Low loss
ArrayValidator 🔷 Low loss
Boolean 🔷 Low loss
BooleanValidator 🔷 Low loss
ConstantValidator 🔷 Low loss
Cord 🔷 Low loss
Datatable 🔷 Low loss
DatatableColumn 🔷 Low loss
DatatableColumnHint 🔷 Low loss
DatatableHint 🔷 Low loss
Date 🔷 Low loss
DateTime 🔷 Low loss
DateTimeValidator 🔷 Low loss
DateValidator 🔷 Low loss
Duration 🔷 Low loss
DurationValidator 🔷 Low loss
EnumValidator 🔷 Low loss
Integer 🔷 Low loss
IntegerValidator 🔷 Low loss
Null 🔷 Low loss
Number 🔷 Low loss
NumberValidator 🔷 Low loss
Object 🔷 Low loss
ObjectHint 🔷 Low loss
String 🔷 Low loss
StringHint 🔷 Low loss
StringValidator 🔷 Low loss
Time 🔷 Low loss
TimeValidator 🔷 Low loss
Timestamp 🔷 Low loss
TimestampValidator 🔷 Low loss
TupleValidator 🔷 Low loss
Unknown 🔷 Low loss
UnsignedInteger 🔷 Low loss
Flow
Button 🔷 Low loss
CallArgument 🔷 Low loss
CallBlock 🔷 Low loss
CodeLocation 🔷 Low loss
CompilationDigest 🔷 Low loss
ExecutionDependant 🔷 Low loss
ExecutionDependency 🔷 Low loss
ExecutionTag 🔷 Low loss
ForBlock 🔷 Low loss
Form 🔷 Low loss
Function 🔷 Low loss
IfBlock 🔷 Low loss
IfBlockClause 🔷 Low loss
IncludeBlock 🔷 Low loss
Parameter 🔷 Low loss
Variable 🔷 Low loss
Walkthrough 🔷 Low loss
WalkthroughStep 🔷 Low loss
Style
StyledBlock 🔷 Low loss
StyledInline 🔷 Low loss
Edits
InstructionBlock 🔷 Low loss
InstructionInline 🔷 Low loss
InstructionMessage 🔷 Low loss
PromptBlock 🔷 Low loss
SuggestionBlock 🔷 Low loss
SuggestionInline 🔷 Low loss
Config
Config 🔷 Low loss
Other
Brand 🔷 Low loss
ContactPoint 🔷 Low loss
Enumeration 🔷 Low loss
Grant 🔷 Low loss
ModelParameters 🔷 Low loss
MonetaryGrant 🔷 Low loss
Organization 🔷 Low loss
Person 🔷 Low loss
PostalAddress 🔷 Low loss
Product 🔷 Low loss
PropertyValue 🔷 Low loss
ProvenanceCount 🔷 Low loss
RawBlock 🔷 Low loss
Thing 🔷 Low loss

See the Rust crate codec-pdf for more details.