5#ifndef JAWSMAKO_DISTILLER_H
6#define JAWSMAKO_DISTILLER_H
48 #define DIST_MAKE_PDF_VERSION(major,minor) (((major) << 4) | (minor))
49 #define DIST_GET_PDF_VERSION_MAJOR(pdfVersion) (((pdfVersion) >> 4) & 0x0f)
50 #define DIST_GET_PDF_VERSION_MINOR(pdfVersion) (((pdfVersion) >> 0) & 0x0f)
422 virtual void setProlog(
const IInputStreamPtr &prolog) = 0;
438 virtual void setEpilog(
const IInputStreamPtr &epilog) = 0;
473 virtual void setPanose(
const IInputStreamPtr &panose) = 0;
883 #define obj2IDistiller(obj) IDistillerPtr(dynamic_cast<IDistiller *>((IRCObject *) (obj)), true)
Base class Interface for all Reference Counted objects.
Definition ircobject.h:35
An instance of the JawsMako Distiller class.
Definition distiller.h:34
virtual void setHiResBBox(bool hiResBBox)=0
Set whether to use the HiResBoundingBox DSC comment if present.
eImageDownsamplingMethod
Image downsampling methods.
Definition distiller.h:317
@ eIDAverage
Average downsampling.
Definition distiller.h:320
@ eIDBicubic
Bicubic downsampling.
Definition distiller.h:321
@ eIDSubsample
Subsampling.
Definition distiller.h:319
@ eIDNone
No downsampling.
Definition distiller.h:318
virtual void setSubsetFonts(bool subset)=0
Set whether embedded fonts should be subset or not. The default is true.
virtual void setPdfVersion(ePDFVersion version)=0
Set the PDF version to generate.
virtual void setEncryption(const U8String &ownerPassword, const U8String &userPassword="", uint32 permissions=0)=0
Set the encryption for the output PDF.
virtual void setMonoImageCompression(eImageCompression compression)=0
Set the image compression for monochrome images. The default is eICCCITT. JPEG/DCT and auto are not...
virtual void setGrayImageDownsampling(eImageDownsamplingMethod method)=0
Set the desired downsampling method for gray images. The default method is eIDNone (no downsampling).
~IDistiller() override=default
virtual void removeFont(const U8String &fontName)=0
Removes a named font.
virtual void setEmbedDiskBasedCidFonts(bool embed)=0
Set whether CID fonts obtained from resources (i.e, disk based CID fonts) can be embedded....
eThumbnailType
PDF Thumbnail types.
Definition distiller.h:811
@ eTHColor
Color thumbnails.
Definition distiller.h:813
@ eTHNone
No thumbnails.
Definition distiller.h:812
@ eTHMono
Monochrome thumbnails.
Definition distiller.h:814
virtual void addFonts(const CU8StringVect &fonts)=0
Adds fonts.
virtual void setMonoImageDownsampling(eImageDownsamplingMethod method)=0
Set the desired downsampling method for monochrome images. The default method is eIDNone (no downsamp...
virtual void setAutoRotatePages(bool autoRotatePages)=0
Set whether pages should be automatically rotated. The default is false.
virtual void setColorImageResolution(float resolution)=0
Set the desired resolution for color images when downsampling. The default is 72.
virtual void setResolution(float resolution)=0
Set the target resolution for the output, in dots per inch. The default is 288. Equivalent to calling...
virtual void setColorImageDownsampling(eImageDownsamplingMethod method)=0
Set the desired downsampling method for color images. The default method is eIDNone (no downsampling)...
virtual void setGrayImageCompression(eImageCompression compression)=0
Set the image compression for gray images. The default is eICFlate. CCITT is not allowed for gray i...
virtual void setLinearize(bool linearize)=0
Set whether the output should be linearized. The default is false.
virtual void setEpilog(const IInputStreamPtr &epilog)=0
Set a epilog stream to be consumed by the PostScript interpreter after the input stream is processed,...
virtual void setOPI(bool opi)=0
Set whether OPI comments should be preserved. The default is false.
virtual void setOutputHandler(IPSOutputHandlerPtr outputHandler)=0
Set an output handler.
eTransferFunctionMethod
Enumeration for transfer function methods.
Definition distiller.h:175
@ eTRPreserve
Transfer functions are stored in the PDF file.
Definition distiller.h:178
@ eTRRemove
Transfer functions are ignored.
Definition distiller.h:177
@ eTRApply
The effect of a transfer function is applied to the page content before being stored in the PDF file.
Definition distiller.h:176
virtual void setJobTicket(bool jobTicket)=0
Set whether to add a job ticket object to the output. The default is false.
virtual void setParameter(const U8String ¶m, const U8String &value)=0
Apply a key-value pair output parameter with a string value. The parameter name is case insensitive....
virtual void setMonoImageResolution(float resolution)=0
Set the desired resolution for monochrome images when downsampling. The default is 72.
virtual void setEmbedFonts(bool embed)=0
Set whether fonts should be forcibly embedded. The standard 14 fonts are not affected by this....
virtual void getFontNames(const U8String &font, CU8StringVect &names)=0
Gets a list of font names from a given file.
virtual void setPageFilterHigh(uint64 pageHigh)=0
Set upper page limit.
virtual void setConvertCMYKImagesToRGB(bool convert)=0
Set whether to convert CMYK images to RGB. The default is false.
virtual void setGrayJPEGQuality(eJpegQuality quality)=0
Set the JPEG quality to use when compressing gray images in DCT format. Equivalent to calling setPara...
virtual void setGrayImageResolution(float resolution)=0
Set the desired resolution for gray images when downsampling. The default is 72.
virtual void setPageFilterRange(uint64 pageLow, uint64 pageHigh)=0
Set page range.
virtual void setPanose(const IInputStreamPtr &panose)=0
Sets a stream that refers to a list of CID font names and their associated Panose styles.
virtual void setFontDevicePath(const U8String &path)=0
Sets the font device path.
virtual void setTransfers(eTransferFunctionMethod transfers)=0
Set the desired method to for controlling transfer functions.
virtual void setCropToBBox(bool cropToBBox)=0
Set whether to use the BoundingBox DSC comment for the PDF CropBox. The default is false.
virtual void setHalftone(bool halftone)=0
Set whether halftone information should be preserved. The default is false.
virtual void setProlog(const IInputStreamPtr &prolog)=0
Set a prolog stream to be consumed by the PostScript interpreter before the input stream is processed...
virtual void setResourceDevicePath(const U8String &path)=0
Sets the resource device path.
virtual void setDefaultPanoseStyle(const U8String &defaultPanoseStyle)=0
Sets the default Panose style to be used when emitting a CID font that is not in the Panose list,...
virtual void setTrimToBBox(bool trimToBBox)=0
Set whether to use the BoundingBox DSC comment for the page size. The default is false.
eJpegQuality
JPEG-equivalent quality factors (QFactor)
Definition distiller.h:249
@ eJQUser
Compress using the QFactor set by setColorQFactor()
Definition distiller.h:253
@ eJQHigh
eJQHigh is equivalent to a QFactor of 1.3
Definition distiller.h:252
@ eJQMedium
eJQMedium is equivalent to a QFactor of 0.5
Definition distiller.h:251
@ eJQLow
eJQLow is equivalent to a QFactor of 0.1
Definition distiller.h:250
eImageCompression
Image compression formats.
Definition distiller.h:197
@ eICCCITT
A method for compressing monochrome images, defined by Comité Consultatif International Téléphonique ...
Definition distiller.h:204
@ eICNone
Uncompressed.
Definition distiller.h:198
@ eICAuto
Automatic selection of appropriate compression method.
Definition distiller.h:199
@ eICFlate
Flate (zip), a lossless compression method.
Definition distiller.h:200
@ eICDCT
Discrete Cosine Transform, a lossy form of compression used for color or grayscale images,...
Definition distiller.h:202
@ eICLZW
LZW (Lempel-Ziv-Welch), a lossless compression method.
Definition distiller.h:203
@ eICFlatePredict
Flate with predictor (which can improve compression at the cost of additional processing)
Definition distiller.h:201
virtual void setGrayQFactor(float qfactor)=0
Set the QFactor to use when compressing gray images in DCT format. Applies only when setting the JPEG...
virtual void setOverprintMode(bool overprintMode)=0
Set the overprint mode. The default is true, which sets non-zero overprint mode (/OPM 1).
virtual void setColorJPEGQuality(eJpegQuality quality)=0
Set the JPEG quality to use when compressing color images in DCT format. Equivalent to calling setPar...
virtual void setAscii85EncodePages(bool ascii85EncodePages)=0
Set whether to ASCII85-encode streams. The default is false.
virtual void setPageFilterLow(uint64 pageLow)=0
Set lower page limit.
virtual void setCompressPages(bool compressPages)=0
Set whether or not compression should be applied to page content. The default is true.
virtual void setColorQFactor(float qfactor)=0
Set the QFactor to use when compressing color images in DCT format. Applies only when setting the JPE...
virtual void setOverprint(bool overprint)=0
Set whether overprinting should be preserved. The default is false.
virtual void setCompressObjects(bool compressObjects)=0
Set whether or not to compress individual objects.
ePDFVersion
Supported PDF versions.
Definition distiller.h:57
@ ePDF1_4
PDF 1.4.
Definition distiller.h:59
@ ePDF1_5
PDF 1.5.
Definition distiller.h:60
@ ePDF1_7
PDF 1.7.
Definition distiller.h:62
@ ePDF1_3
PDF 1.3.
Definition distiller.h:58
@ ePDF1_6
PDF 1.6.
Definition distiller.h:61
static JAWSMAKO_API IDistillerPtr create(const IJawsMakoPtr &jawsMako)
Create an IDistiller interface.
virtual void distill(const IInputStreamPtr &inputStream, const IOutputStreamPtr &outputStream, const IProgressMonitorPtr &progressMonitor=IProgressMonitorPtr())=0
Convert (distill) an input PostScript stream to PDF.
virtual void setCommentMonitor(IPSCommentMonitor *commentMonitor)=0
Set a comment monitor.
virtual void setUseDeviceDependentColor(bool useDeviceDependentColor)=0
Set whether to convert device independent colors to device dependent colors The default is false.
virtual void setDocumentInformationString(eDocumentInfo key, const U8String &value)=0
Set PDF Document Information string.
virtual void addFont(const U8String &font)=0
Adds a font.
virtual void setColorImageCompression(eImageCompression compression)=0
Set the image compression for color images. The default is eICFlate. CCITT is not allowed for color...
virtual void setEmbedBase14Fonts(bool embed)=0
Set whether the base 14 PDF fonts should be forcibly embedded. Only the standard 14 fonts are not aff...
eDocumentInfo
Document Information types.
Definition distiller.h:673
@ eDICreator
The document creator.
Definition distiller.h:677
@ eDIAuthor
The document author.
Definition distiller.h:674
@ eDITitle
The document title.
Definition distiller.h:676
@ eDISubject
The document subject.
Definition distiller.h:675
@ eDIN
The number of Document Information types.
Definition distiller.h:678
virtual void setThumbnails(eThumbnailType thumbnails)=0
Set the PDF thumbnail type.
Interface allowing users to capture PostScript output. Use setOutputHandler() to install subclasses o...
Definition distiller.h:921
virtual ~IPSOutputHandler()=default
virtual void error(const RawString &errorString)=0
Invoked when writing to the PostScript standard error file (stderr).
virtual void output(const RawString &outputString)=0
Invoked when writing to the PostScript standard output file (stdout).
#define DIST_MAKE_PDF_VERSION(major, minor)
Definition distiller.h:48
unsigned int uint32
Definition edltypes.h:34
unsigned long long uint64
Definition edltypes.h:35
EDLSysString U8String
A UTF-8 String.
Definition types.h:146
EDLSysString RawString
A raw, 8 bit string. Encoding depends on context.
Definition types.h:152
Definition apexcustompostprocess.h:17
EDL::IProgressMonitorPtr IProgressMonitorPtr
Definition types.h:87
CEDLSysStringVect CRawStringVect
Definition types.h:170
CEDLSysStringVect CU8StringVect
Definition types.h:169
std::shared_ptr< IPSOutputHandler > IPSOutputHandlerPtr
Definition distiller.h:26
#define DECL_SMART_PTR(cls)
Definition smartptr.h:211
#define JAWSMAKO_API
Definition types.h:29