pub struct SaveOptions {
pub mode: SaveMode,
pub keep_original: bool,
pub remove_security: bool,
pub subset_new_fonts: bool,
pub version: Option<PdfVersion>,
pub id_source: IdSource,
pub encrypt: Option<Encryption>,
}Expand description
Everything a save may be asked to do differently.
Fields§
§mode: SaveModeWhether to append or rewrite.
keep_original: boolKeep the original bytes as the file’s prefix. Only an incremental save reads this; clearing it there turns the save into a rewrite that keeps the appended shape.
remove_security: boolDrop the security handler and /Encrypt, writing the document in the
clear.
Off by default: an encrypted document saves encrypted under its own handler, and opens with the password it was opened with. Setting this is the explicit way to decrypt one on the way out — and it forces a full save, since plaintext cannot be appended behind ciphertext.
Has no effect on an unencrypted document.
subset_new_fonts: boolSubset newly embedded fonts, dropping the glyphs no page shows.
Off by default. When set, every font this save writes as a new
object and that a show operator on some page draws with is replaced by
a subset carrying only the glyphs still used, named ABCDEF+Original
after ISO 32000-1 §9.6.4.
What it subsets: a /Type0 font whose descendant is a
CIDFontType2 with an embedded /FontFile2. Nothing else — a Type 1
(/FontFile) or OpenType-CFF (/FontFile3, or an OTTO program)
font is left alone, and so is a simple TrueType font, whose codes
reach glyphs through a cmap the subsetter removes.
What it does not disturb: the character codes on the page, the
CIDs they map to, /W, and /ToUnicode. The subsetter renumbers
glyphs, and a rewritten /CIDToGIDMap absorbs that renumbering at the
one place ISO 32000-1 §9.7.4.2 already provides for it — so no
content stream is regenerated, and text extraction over the saved
file is unchanged.
A font whose program will not subset, or whose subset would not be smaller, is written unchanged.
version: Option<PdfVersion>The version to declare in the header. 1.0 through 1.7 are honoured;
anything outside that range, and None, keep the document’s own.
id_source: IdSourceWhere /ID and subset tags come from.
encrypt: Option<Encryption>Encrypt an unencrypted document on the way out: AES-256, revision 6,
under these passwords and permissions. None leaves the document as
it is. A document that is already encrypted cannot be re-keyed here:
asking for it is Error::EncryptedSaveUnsupported.
Trait Implementations§
Source§impl Clone for SaveOptions
impl Clone for SaveOptions
Source§fn clone(&self) -> SaveOptions
fn clone(&self) -> SaveOptions
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more