Table Of Contents
These are the changes to CentraDoc since the initial 6.13 release up to Version 7.1.3 2022-03-01
This includes 6.13.5 through 6.13.14, and 7.0.0, 7.0.1, 7.0.7, 7.1.1, 7.1.2, and related changes.
PdfDictionary *FntPT0_Dictionary(FntPtr fnt); PdfDictionary *FntPT1_Dictionary(FntPtr fnt); struct FT_FaceRec_* FntFT_GetFace(FntPtr f);
// added mask helpers: void *Pdf_LoadJBIG2AsMask(Instance self, const char *name, int *oWidth, int *oHeight); void *Pdf_LoadJBIG2Masked(Instance self, const char *name, void *maskImage, int *oWidth, int *oHeight); void *Pdf_LoadJPXMasked(Instance self, const char *name, void *maskImage,int *oWidth, int *oHeight); void * Pdf_NewIndexedImageMasked( Instance self, /**< Pdf */ void *maskImage, int width, /**< width of image in pixels */ int height, /**< height of image in rows */ int bitsPerIndex,/**< size of the index value */ int nComponents, /**< number of components in the index table */ const unsigned char *table, /**< color table, 8 bits per component */ int tableSize /**< number of bytes in color table (must be == nComponents * 2^bitsPerIndex)*/ ); // modified this method:: void *Pdf_LoadJBIG2(Instance self, void *optIntoImage, const char *name, int *oWidth, int *oHeight); // by removing the optional parameter: void *Pdf_LoadJBIG2(Instance self, const char *name, int *oWidth, int *oHeight); // added these methods instead, for consistency void *Pdf_LoadJpegInto(Instance self, /**< Pdf */ void *optIntoImage, const char *fileName, /**< jpeg file to open */ int *oWidth, /**< returns Width of jpeg file */ int *oHeight /**< returns Height of jpeg file */ ); void *Pdf_LoadJPXInto(Instance self, void *optIntoImage, const char *name, int *oWidth, int *oHeight); void *Pdf_LoadJBIG2Into(Instance self, void *optIntoImage, const char *name, int *oWidth, int *oHeight);
void * Pdf_EmbedFont( Pdf* self, /**< Pdf (PdfRW) */ const char *name, /**< font file path OR WINDOWS FONT NAME (from registry) */ int faceNumber, /**< index into TTC font, or 0 */ const char *fontNameOverride, /**< optional override for fontName */ int usageFlags, /**< see PdfFontEmbeddingFlags */ int *oStatus /**< ESimpleError more info if something goes wrong */ ); typedef enum { kEmbedFontForceEmbed=1, /**< ignore font license flags */ kEmbedFontSubset=2, /**< embed a (Type1!) font subset only (otherwise whole font) */ // ... kEmbedFontReferenceOnly=32, /**< Don't actually embed the font, just reference it */ kEmbedFontPostscriptName=64, /**< fetch the Postscript name, and use that */ kEmbedFontNarrowIsUTF8=128, /**< use UTF-8 in the ShowText call */ // ... } PdfFontEmbeddingFlags; // e.g. void *font = Pdf_EmbedFont(pdf, "Arial", 0, 0, kEmbedFontReferenceOnly, 0);
/* replies must be on the same page as the in-reply-to annot */ void PdfAnnot_SetInReplyTo(PdfAnnotPtr reply, PdfAnnotPtr irt); void PdfAnnot_SetInReplyToD(PdfDictionary *reply, PdfDictionary *irt); PdfAnnot *PdfAnnot_GetInReplyTo(PdfAnnotPtr reply); PdfDictionary *PdfAnnot_GetInReplyToD(PdfDictionary *reply);
rt_Bool Pdf_SetImageMask(void *image); rt_Bool Pdf_InvertImageMask(void *image);
XFA is a very slippery spec and rendering is constantly improved to handle example files.
Some of the many issues addressed:
Multithreaded RIP and additional riptest crop options
/* MULTI-THREADED OPEN */ CDocRIPPtr CDocRIP_MTOpenFile(const char *fileName, const char *etcPath, int nThreads); CDocRIPPtr CDocRIP_MTOpenFFs(FFs *ffs, const char *etcPath, int nThreads);