Flutter Engine
The Flutter Engine
Public Types | Public Attributes | List of all members
SkPDF::Metadata Struct Reference

#include <SkPDFDocument.h>

Public Types

enum class  Outline : int { None = 0 , StructureElementHeaders = 1 }
 
enum class  CompressionLevel : int {
  Default = -1 , None = 0 , LowButFast = 1 , Average = 6 ,
  HighButSlow = 9
}
 
enum  Subsetter { kHarfbuzz_Subsetter }
 

Public Attributes

SkString fTitle
 
SkString fAuthor
 
SkString fSubject
 
SkString fKeywords
 
SkString fCreator
 
SkString fProducer = SkString("Skia/PDF m" SKPDF_STRING(SK_MILESTONE))
 
DateTime fCreation = {0, 0, 0, 0, 0, 0, 0, 0}
 
DateTime fModified = {0, 0, 0, 0, 0, 0, 0, 0}
 
SkString fLang
 
SkScalar fRasterDPI = SK_ScalarDefaultRasterDPI
 
bool fPDFA = false
 
int fEncodingQuality = 101
 
StructureElementNodefStructureElementTreeRoot = nullptr
 
enum SkPDF::Metadata::Outline fOutline = Outline::None
 
SkExecutorfExecutor = nullptr
 
enum SkPDF::Metadata::CompressionLevel fCompressionLevel = CompressionLevel::Default
 
enum SkPDF::Metadata::Subsetter fSubsetter = kHarfbuzz_Subsetter
 

Detailed Description

Optional metadata to be passed into the PDF factory function.

Definition at line 85 of file SkPDFDocument.h.

Member Enumeration Documentation

◆ CompressionLevel

PDF streams may be compressed to save space. Use this to specify the desired compression vs time tradeoff.

Enumerator
Default 
None 
LowButFast 
Average 
HighButSlow 

Definition at line 177 of file SkPDFDocument.h.

177 : int {
178 Default = -1,
179 None = 0,
180 LowButFast = 1,
181 Average = 6,
182 HighButSlow = 9,
enum SkPDF::Metadata::CompressionLevel fCompressionLevel

◆ Outline

enum class SkPDF::Metadata::Outline : int
strong
Enumerator
None 
StructureElementHeaders 

Definition at line 157 of file SkPDFDocument.h.

157 : int {
158 None = 0,
159 StructureElementHeaders = 1,
enum SkPDF::Metadata::Outline fOutline

◆ Subsetter

Preferred Subsetter.

Enumerator
kHarfbuzz_Subsetter 

Definition at line 186 of file SkPDFDocument.h.

186 {
enum SkPDF::Metadata::Subsetter fSubsetter

Member Data Documentation

◆ fAuthor

SkString SkPDF::Metadata::fAuthor

The name of the person who created the document.

Definition at line 92 of file SkPDFDocument.h.

◆ fCompressionLevel

enum SkPDF::Metadata::CompressionLevel SkPDF::Metadata::fCompressionLevel = CompressionLevel::Default

◆ fCreation

DateTime SkPDF::Metadata::fCreation = {0, 0, 0, 0, 0, 0, 0, 0}

The date and time the document was created. The zero default value represents an unknown/unset time.

Definition at line 116 of file SkPDFDocument.h.

◆ fCreator

SkString SkPDF::Metadata::fCreator

If the document was converted to PDF from another format, the name of the conforming product that created the original document from which it was converted.

Definition at line 107 of file SkPDFDocument.h.

◆ fEncodingQuality

int SkPDF::Metadata::fEncodingQuality = 101

Encoding quality controls the trade-off between size and quality. By default this is set to 101 percent, which corresponds to lossless encoding. If this value is set to a value <= 100, and the image is opaque, it will be encoded (using JPEG) with that quality setting.

Definition at line 149 of file SkPDFDocument.h.

◆ fExecutor

SkExecutor* SkPDF::Metadata::fExecutor = nullptr

Executor to handle threaded work within PDF Backend. If this is nullptr, then all work will be done serially on the main thread. To have worker threads assist with various tasks, set this to a valid SkExecutor instance. Currently used for executing Deflate algorithm in parallel.

If set, the PDF output will be non-reproducible in the order and internal numbering of objects, but should render the same.

Experimental.

Definition at line 172 of file SkPDFDocument.h.

◆ fKeywords

SkString SkPDF::Metadata::fKeywords

Keywords associated with the document. Commas may be used to delineate keywords within the string.

Definition at line 101 of file SkPDFDocument.h.

◆ fLang

SkString SkPDF::Metadata::fLang

The natural language of the text in the PDF. If fLang is empty, the root StructureElementNode::fLang will be used (if not empty). Text not in this language should be marked with StructureElementNode::fLang.

Definition at line 127 of file SkPDFDocument.h.

◆ fModified

DateTime SkPDF::Metadata::fModified = {0, 0, 0, 0, 0, 0, 0, 0}

The date and time the document was most recently modified. The zero default value represents an unknown/unset time.

Definition at line 121 of file SkPDFDocument.h.

◆ fOutline

enum SkPDF::Metadata::Outline SkPDF::Metadata::fOutline = Outline::None

◆ fPDFA

bool SkPDF::Metadata::fPDFA = false

If true, include XMP metadata, a document UUID, and sRGB output intent information. This adds length to the document and makes it non-reproducable, but are necessary features for PDF/A-2b conformance

Definition at line 142 of file SkPDFDocument.h.

◆ fProducer

SkString SkPDF::Metadata::fProducer = SkString("Skia/PDF m" SKPDF_STRING(SK_MILESTONE))

The product that is converting this document to PDF.

Definition at line 111 of file SkPDFDocument.h.

◆ fRasterDPI

SkScalar SkPDF::Metadata::fRasterDPI = SK_ScalarDefaultRasterDPI

The DPI (pixels-per-inch) at which features without native PDF support will be rasterized (e.g. draw image with perspective, draw text with perspective, ...) A larger DPI would create a PDF that reflects the original intent with better fidelity, but it can make for larger PDF files too, which would use more memory while rendering, and it would be slower to be processed or sent online or to printer.

Definition at line 136 of file SkPDFDocument.h.

◆ fStructureElementTreeRoot

StructureElementNode* SkPDF::Metadata::fStructureElementTreeRoot = nullptr

An optional tree of structured document tags that provide a semantic representation of the content. The caller should retain ownership.

Definition at line 155 of file SkPDFDocument.h.

◆ fSubject

SkString SkPDF::Metadata::fSubject

The subject of the document.

Definition at line 96 of file SkPDFDocument.h.

◆ fSubsetter

enum SkPDF::Metadata::Subsetter SkPDF::Metadata::fSubsetter = kHarfbuzz_Subsetter

◆ fTitle

SkString SkPDF::Metadata::fTitle

The document's title.

Definition at line 88 of file SkPDFDocument.h.


The documentation for this struct was generated from the following file: