Class SVGConversionOptions
-
Nested Class Summary
Nested classes/interfaces inherited from class org.jpedal.render.output.ConversionOptions
ConversionOptions.Font, ConversionOptions.ScalingMode, ConversionOptions.TextMode
-
Constructor Summary
ConstructorsConstructorDescriptionSVGConversionOptions
(String options) SVGConversionOptions
(Map<String, String> jvmOptions) -
Method Summary
Modifier and TypeMethodDescriptionvoid
setAddBorder
(boolean value) Add a border around the pagevoid
setCompressImages
(boolean value) When enabled, generated PNG images will be compressed to reduce file size.void
setCompressSVG
(boolean b) Generates compressed .svgz files rather than .svg (you will need to configure your web server to correctly serve these).void
setConvertPDFExternalFileToOutputType
(boolean value) Set whether to convert links pointing to file.pdf into file.html inside GoToR and Launch link annotations.void
setConvertSpacesToNbsp
(boolean value) Convert spaces into Non-breaking Spaces ( ) in the output.void
setEmbedImagesAsBase64Stream
(boolean value) Embed images as Base64 stream.void
In Text Modes, you can override real text on a font by font basis,void
setFormTag
(String value) Replacing <form> with your version.void
setImageScale
(float imageScale) Write out larger images to allow higher quality zooming.void
setIncludedFonts
(ConversionOptions.Font[] includedFonts) Set fonts to convert to and include in HTML and CSS output.void
setKeepGlyfsSeparate
(boolean value) Position each glyph individually for more accurate positioning.void
setLogicalPageRange
(PageRanges value) Set a page range using logical page numbering.void
setMaxPageHeight
(int height) Sets the maximum height of the converted document.void
setMaxPageWidth
(int width) Sets the maximum width of the converted document.void
setOmitNameDir
(boolean b) Controls the folder structure of the output.void
setOriginalFileName
(String originalFileName) Spoof the filename of the document being converted.void
setPageFlatteningImageThreshold
(int threshold) Set the threshold for the number of images which, once reached, will cause the page will be flattened into a single image to improve performance in the browser.void
setRealPageRange
(PageRanges value) Set a page range using real page numbering.void
setScaling
(float value) Sets the Scaling value of the converted content.void
setScalingFitHeight
(int value) void
setScalingFitWidth
(int value) void
setScalingFitWidthHeight
(int width, int height) void
setSeparateToWords
(boolean value) Divide text chunks into words based on spaces This improves accuracy but not as much as keepGlyfsSeparate, It produces a larger file but may suit some use cases.void
Set Text Mode.void
setUseLegacyImageFileType
(boolean value) If enabled, all images output will use the PNG file type.Methods inherited from class org.jpedal.render.output.ConversionOptions
getApplyBranding, getConvertPDFExternalFileToOutputType, getErrors, getFormTag, getLogicalPageRange, getOmitNameDir, getOriginalFileName, getPassword, getRealPageRange, getUseLegacyImageFileType, notSet, setPreserveExtractionValues
-
Constructor Details
-
SVGConversionOptions
-
SVGConversionOptions
public SVGConversionOptions() -
SVGConversionOptions
-
-
Method Details
-
setTextMode
Set Text Mode.For an explanation of text modes, please see https://support.idrsolutions.com/buildvu/api-documents/text-mode-options
Important : svg_shapetext extracts the font metrics from the embedded fonts and includes them as shapes, If there are no embedded fonts then there are no shapes to extract, thus the text will appear transparent, In the case where there are no embedded fonts, it's best to use svg_realtext.
Possible values:
- svg_realtext
- svg_shapetext_selectable
- svg_shapetext_nonselectable
- image_realtext
- image_shapetext_selectable
- image_shapetext_nonselectable
Default: svg_realtext
Also set with -Dorg.jpedal.pdf2html.textMode=
- Parameters:
value
- The TextMode Value to use for conversion.
-
setAddBorder
public void setAddBorder(boolean value) Add a border around the pagePossible values:
- true/false
Default: false
Also set with -Dorg.jpedal.pdf2html.addBorder=
- Parameters:
value
- true to enable border.
-
setConvertPDFExternalFileToOutputType
public void setConvertPDFExternalFileToOutputType(boolean value) Set whether to convert links pointing to file.pdf into file.html inside GoToR and Launch link annotations. This setting is for FormVu only and has no effect in BuildVu.Possible values:
- true/false
Default: true
Also set with -Dorg.jpedal.pdf2html.convertPDFExternalFileToOutputType=
- Overrides:
setConvertPDFExternalFileToOutputType
in classConversionOptions
- Parameters:
value
- is of type boolean.
-
setConvertSpacesToNbsp
public void setConvertSpacesToNbsp(boolean value) Convert spaces into Non-breaking Spaces ( ) in the output.Possible values:
- true/false
Default: false Also set with -Dorg.jpedal.pdf2html.convertSpacesToNbsp=
- Overrides:
setConvertSpacesToNbsp
in classConversionOptions
- Parameters:
value
- is of type boolean.
-
setEmbedImagesAsBase64Stream
public void setEmbedImagesAsBase64Stream(boolean value) Embed images as Base64 stream.Inserts the images directly into the file as a base64 stream instead of referencing an external file.
Possible values:
- true/false
Default: false
Also set with -Dorg.jpedal.pdf2html.embedImagesAsBase64Stream=
- Overrides:
setEmbedImagesAsBase64Stream
in classConversionOptions
- Parameters:
value
- is of type boolean.
-
setFontsToRasterizeInTextMode
In Text Modes, you can override real text on a font by font basis,In svg_realtext text will appear as part of SVG as Vectors This setting has no effect in other modes,
Needs to start EXCLUDE= or INCLUDE= followed by a list of comma separated fonts Comparison is case-insensitive so Arial, ARIAL and arial are the same.
Possible values:
- INCLUDE=font1,font2,font3 ... (rasterized JUST these fonts)
- EXCLUDE=font1,font2,font3 ... (rasterized all fonts EXCEPT these fonts)
For example:
- options.setFontsToRasterizeInTextMode("EXCLUDE=PTSerif-Regular,Arial");
- options.setFontsToRasterizeInTextMode("INCLUDE=PTSerif-Regular,Arial");
Default: no effect
Also set with -Dorg.jpedal.pdf2html.fontsToRasterizeInTextMode=
- Overrides:
setFontsToRasterizeInTextMode
in classConversionOptions
- Parameters:
value
- is of type String.
-
setFormTag
Replacing <form> with your version. This setting is for FormVu only and has no effect in BuildVu.Possible values:
- <form **your code here**>
Default: <form>
Also set with -Dorg.jpedal.pdf2html.formTag=
- Overrides:
setFormTag
in classConversionOptions
- Parameters:
value
- is of type String.
-
setIncludedFonts
Set fonts to convert to and include in HTML and CSS output.Possible values:
Any comma separated list containing:
- woff
- otf
- woff_base64,
- otf_base64
Also set with -Dorg.jpedal.pdf2html.includedFonts=
- Overrides:
setIncludedFonts
in classConversionOptions
- Parameters:
includedFonts
- is an array of Object type Font.
-
setKeepGlyfsSeparate
public void setKeepGlyfsSeparate(boolean value) Position each glyph individually for more accurate positioning.Produces a larger file but may suit some use cases
Possible values:
- true/false
Also set with -Dorg.jpedal.pdf2html.keepGlyfsSeparate=
- Overrides:
setKeepGlyfsSeparate
in classConversionOptions
- Parameters:
value
- is of type boolean.
-
setLogicalPageRange
Set a page range using logical page numbering. This setting treats the document as if it only contains the pages defined in the page range.For example, a 7-page document with the page range "2,4,6" will generate 1.html, 2.html and 3.html, and other assets will behave as if only these pages exist.
Important: Some assets such as config.js/properties.json/annotations.json may not be compatible with this setting.
Possible values:
- comma separated values including ranges. E.g. "1,3,5-8,10"
Default: null
Also set with -Dorg.jpedal.pdf2html.logicalPageRange=
- Overrides:
setLogicalPageRange
in classConversionOptions
- Parameters:
value
- is of Object type PageRanges.
-
setRealPageRange
Set a page range using real page numbering. This setting treats the document as if it contains every page, however only the pages defined in the range will be converted.For example, a 7-page document with the page range "2,4,6" will generate 2.html, 4.html and 6.html, and other assets will behave as if pages 1, 3, 5 also 7 exist.
Important: Some assets such as config.js/properties.json/annotations.json/search.json/index.html may not be compatible with this setting.
Possible values:
- Comma separated values including ranges. E.g. "1,3,5-8,10"
Default value: all pages, e.g. "1-39"
Also set with -Dorg.jpedal.pdf2html.realPageRange=
- Overrides:
setRealPageRange
in classConversionOptions
- Parameters:
value
- is of Object type PageRanges.
-
setOmitNameDir
public void setOmitNameDir(boolean b) Controls the folder structure of the output.By default, pages are output within a directory with the same name as the PDF file within the output directory specified.
Setting omitNameDir to true will cause pages to be output directly within the output directory specified. Possible values:
- true/false
Default: false
Also set with -Dorg.jpedal.pdf2html.omitNameDir=
- Overrides:
setOmitNameDir
in classConversionOptions
- Parameters:
b
- Boolean true/false
-
setCompressSVG
public void setCompressSVG(boolean b) Generates compressed .svgz files rather than .svg (you will need to configure your web server to correctly serve these).It is recommended to enable this setting as svg file sizes can be reduced by as much as 80-90%!
SVGZ files are simply SVG files which have been gzip compressed. Gzip compressed svg files are supported by all modern browsers (IE9 onwards, Firefox, Chrome, etc) as long as the web server is configured correctly.
For more information, please click here.
Possible values:
- true/false
Default: false
Also set with -Dorg.jpedal.pdf2html.compressSVG=
- Overrides:
setCompressSVG
in classConversionOptions
- Parameters:
b
- Boolean true/false
-
setScaling
public void setScaling(float value) Sets the Scaling value of the converted content.Possible values:
- 1 (float multiplier)
- 1000x1000 (best fit width/height)
- fitWidth1000 (best fit width)
- fitHeight1000 (best fit height)
Default: 1
Also set with -Dorg.jpedal.pdf2html.scaling=
- Overrides:
setScaling
in classConversionOptions
- Parameters:
value
- is of type float.
-
setScalingFitHeight
public void setScalingFitHeight(int value) - Overrides:
setScalingFitHeight
in classConversionOptions
-
setScalingFitWidth
public void setScalingFitWidth(int value) - Overrides:
setScalingFitWidth
in classConversionOptions
-
setScalingFitWidthHeight
public void setScalingFitWidthHeight(int width, int height) - Overrides:
setScalingFitWidthHeight
in classConversionOptions
-
setMaxPageWidth
public void setMaxPageWidth(int width) Sets the maximum width of the converted document. This can be used in conjunction with setMaxPageHeight to limit page dimensions to a given size.Pages larger than the given dimensions will be scaled down to fit within those dimensions. Pages smaller than the given dimensions will be unaffected.
This setting may be useful to prevent rogue documents with unusually large pages from causing OutOfMemoryErrors (which may otherwise bring down the JVM).
Possible values:
- Any positive integer value
Default: 5000
Also set with -Dorg.jpedal.pdf2html.maxPageWidth=
- Overrides:
setMaxPageWidth
in classConversionOptions
- Parameters:
width
- the maximum page width
-
setMaxPageHeight
public void setMaxPageHeight(int height) Sets the maximum height of the converted document. This can be used in conjunction with setMaxPageWidth to limit page dimensions to a given size.Pages larger than the given dimensions will be scaled down to fit within those dimensions. Pages smaller than the given dimensions will be unaffected.
This setting may be useful to prevent rogue documents with unusually large pages from causing OutOfMemoryErrors (which may otherwise bring down the JVM).
Possible values:
- Any positive integer value
Default: 5000
Also set with -Dorg.jpedal.pdf2html.maxPageHeight=
- Overrides:
setMaxPageHeight
in classConversionOptions
- Parameters:
height
- the maximum page height
-
setSeparateToWords
public void setSeparateToWords(boolean value) Divide text chunks into words based on spaces This improves accuracy but not as much as keepGlyfsSeparate, It produces a larger file but may suit some use cases.Possible values:
- true/false
Default: false
Also set with -Dorg.jpedal.pdf2html.separateTextToWords=
- Overrides:
setSeparateToWords
in classConversionOptions
- Parameters:
value
- is of type boolean.
-
setCompressImages
public void setCompressImages(boolean value) When enabled, generated PNG images will be compressed to reduce file size.This setting has an effect only when svg text modes are used, or when setUseLegacyImageFileType is set to true.
Rather than producing 24 bit RGB or 32 bit RGBA truecolor PNG images, instead the converter will produce 8 bit palette images that have undergone quantization and dithering. This is a lossy compression, but visual quality remains very high.
Enabling compression will make conversion slower. On average, expect conversion time to at least double. File size saving can be significant. On files with large images, it is not unusual to see savings of 70-80% on the image file size.
Possible value:
- true/false
Default: true
Also set with -Dorg.jpedal.pdf2html.compressImages=
- Overrides:
setCompressImages
in classConversionOptions
- Parameters:
value
- is of type boolean
-
setUseLegacyImageFileType
public void setUseLegacyImageFileType(boolean value) If enabled, all images output will use the PNG file type.Possible value:
- true/false
Default: false
Also set with -Dorg.jpedal.pdf2html.useLegacyImageFileType=
- Overrides:
setUseLegacyImageFileType
in classConversionOptions
- Parameters:
value
- is of type boolean.
-
setImageScale
public void setImageScale(float imageScale) Write out larger images to allow higher quality zooming.Default value is 1, which produces images at the same size they are displayed when the zoom is 100%. A value of 1.5 will generate images at 1.5x the standard size. The maximum size of an image is capped at the size of the source image stored in the PDF file. For example if the source image is 150x150, then increasing the imageScale value will not generate an image larger than 150x150.
It is important to remember that file size grows exponentially with the scaling factor. For example, scaling an image by 2 actually multiplies the number of pixels by 4. We therefore recommend a value such as 1.5 or 2.
Possible values:
- Float value greater than 1 e.g. 1.5, 2
Default: 1
Also set with -Dorg.jpedal.pdf2html.imageScale=
- Overrides:
setImageScale
in classConversionOptions
- Parameters:
imageScale
- is of type float
-
setPageFlatteningImageThreshold
public void setPageFlatteningImageThreshold(int threshold) Set the threshold for the number of images which, once reached, will cause the page will be flattened into a single image to improve performance in the browser.Possible values:
- Any positive integer value
Default: 200
Also set with -Dorg.jpedal.pdf2html.pageFlatteningImageThreshold=
- Overrides:
setPageFlatteningImageThreshold
in classConversionOptions
- Parameters:
threshold
- the threshold at which the page will be flattened
-
setOriginalFileName
Spoof the filename of the document being converted. This setting is useful when the filename is not specified such as when converting from InputStream or byte array, or when the filename has been sanitized.This value controls the following:
- The name of the output directory (sanitized)
- The title used by the IDRViewer (when a title is not defined within the PDF file)
- In FormVu, the filename used when resaving the form as PDF
Possible values:
- Non-null alphanumeric string
Default: unset
Also set with -Dorg.jpedal.pdf2html.originalFileName=
- Overrides:
setOriginalFileName
in classConversionOptions
- Parameters:
originalFileName
- the filename to be used
-