use_core_fonts property
PdfSaveOptions.use_core_fonts property
Gets or sets a value determining whether or not to substitute TrueType fonts Arial, Times New Roman, Courier New and Symbol with core PDF Type 1 fonts.
@property
def use_core_fonts(self) -> bool:
...
@use_core_fonts.setter
def use_core_fonts(self, value: bool):
...
Remarks
The default value is False
. When this value is set to True
Arial, Times New Roman,
Courier New and Symbol fonts are replaced in PDF document with corresponding core Type 1 font.
Core PDF fonts, or their font metrics and suitable substitution fonts, are required to be available to any PDF viewer application.
This setting works only for the text in ANSI (Windows-1252) encoding. Non-ANSI text will be written with embedded TrueType font regardless of this setting.
PDF/A and PDF/UA compliance requires all fonts to be embedded. False
value will be used
automatically when saving to PDF/A and PDF/UA.
Core fonts are not supported when saving to PDF 2.0 format. False
value will be used
automatically when saving to PDF 2.0.
This option has a higher priority then PdfSaveOptions.font_embedding_mode option.
Examples
Shows how enable/disable PDF Type 1 font substitution.
doc = aw.Document()
builder = aw.DocumentBuilder(doc)
builder.font.name = 'Arial'
builder.writeln('Hello world!')
builder.font.name = 'Courier New'
builder.writeln('The quick brown fox jumps over the lazy dog.')
# Create a "PdfSaveOptions" object that we can pass to the document's "save" method
# to modify how that method converts the document to .PDF.
options = aw.saving.PdfSaveOptions()
# Set the "use_core_fonts" property to "True" to replace some fonts,
# including the two fonts in our document, with their PDF Type 1 equivalents.
# Set the "use_core_fonts" property to "False" to not apply PDF Type 1 fonts.
options.use_core_fonts = use_core_fonts
doc.save(ARTIFACTS_DIR + 'PdfSaveOptions.embed_core_fonts.pdf', options)
if use_core_fonts:
self.assertGreater(3000, os.path.getsize(ARTIFACTS_DIR + 'PdfSaveOptions.embed_core_fonts.pdf'))
else:
self.assertLess(30000, os.path.getsize(ARTIFACTS_DIR + 'PdfSaveOptions.embed_core_fonts.pdf'))
See Also
- module aspose.words.saving
- class PdfSaveOptions