12 #ifndef _LIBGREPROPS_H
13 #define _LIBGREPROPS_H 1
41 static const unsigned long __nan[2] = {0xffffffff, 0x7fffffff};
42 #define NAN (*(const float *) __nan)
48 enum IssueType {ERROR,WARNING,NO_ISSUE=-1};
49 enum boolean {FALSE,TRUE,BOOLEAN_NULL=-1};
52 #define FLOAT_NULL NAN
56 enum autoformatTypeEnum {COMPATIBILITY,FLAT_LIST,NEW_LIST};
57 enum logicalPageMappingEnum {oneToOne,labels,multipage};
58 enum SVGCharsetToEmbedEnum {DEFAULT,ISO_8859_15,ALL};
59 enum BrowserFontFileFormatEnum {ttf,woff,eot};
60 enum RTFImagesFormatEnum {png,jpg};
61 enum outputDeviceEnum {PDF,XLS,XLSX,HTML,Image,Printer,Postscript,SVG,Browser,RTF,OORTF};
62 enum SVGPreviewTypeEnum {Preview,ShowPrintDialog,PrintOnDefaultPrinter,PrintOnNamedPrinter};
65 struct RuntimeConfiguration;
67 typedef struct RuntimeConfiguration* RuntimeConfigurationPtr;
69 RuntimeConfigurationPtr createRuntimeConfiguration(
const char *reportFileName);
71 void destroyRuntimeConfiguration(RuntimeConfigurationPtr rcPtr);
73 char* getDistributedHost(RuntimeConfigurationPtr rcPtr);
75 int getDistributedPort(RuntimeConfigurationPtr rcPtr);
77 char* getOutputFileName(RuntimeConfigurationPtr rcPtr);
79 char* getLastIssueMessage(RuntimeConfigurationPtr rcPtr);
81 int getLastIssueNumber(RuntimeConfigurationPtr rcPtr);
83 enum IssueType getLastIssueType(RuntimeConfigurationPtr rcPtr);
85 static char *nstrdup(
const char* s);
99 void setXMLEncoding(RuntimeConfigurationPtr rcPtr,
const char* xmlEncoding);
100 char* getXMLEncoding(RuntimeConfigurationPtr rcPtr);
130 void setAutoformatType(RuntimeConfigurationPtr rcPtr,
enum autoformatTypeEnum type);
174 void configureLocalization(RuntimeConfigurationPtr rcPtr,
const char* charSet,
const char* resourcePath,
const char* numberFormat,
const char* dateFormat);
240 void configureLabelOutput(RuntimeConfigurationPtr rcPtr,
const char* paperWidth,
const char* paperHeight,
const char* labelWidth,
const char* labelHeight,
int labelsPerRow,
int labelsPerColumn);
277 void configureSVGDevice(RuntimeConfigurationPtr rcPtr,
enum boolean antialiasFonts,
enum boolean antialiasShapes,
enum boolean embedFonts,
enum SVGCharsetToEmbedEnum charsetToEmbed);
293 void setSVGCompression(RuntimeConfigurationPtr rcPtr,
enum boolean compressOutput);
410 void configureImageDevice(RuntimeConfigurationPtr rcPtr,
enum boolean antialiasFonts,
enum boolean antialiasShapes,
enum boolean monochrome,
int fromPage,
int toPage,
const char* fileType,
const char* filePath,
const char* fileNamePrefix,
int resolution);
469 void configurePDFDevice(RuntimeConfigurationPtr rcPtr,
const char* fontDirectory,
enum boolean antialiasFonts,
enum boolean antialiasShapes,
enum boolean monochrome,
int fromPage,
int toPage);
553 void configureXLSDevice(RuntimeConfigurationPtr rcPtr,
int fromPage,
int toPage,
enum boolean removeWhitespace,
enum boolean ignoreRowAlignment,
enum boolean ignoreColumnAlignment,
enum boolean removeBackgroundImages,
enum boolean mergePages);
566 void setXLSMergeCells(RuntimeConfigurationPtr rcPtr,
enum boolean mergeCells);
604 void configureXLSXDevice(RuntimeConfigurationPtr rcPtr,
int fromPage,
int toPage,
enum boolean removeWhitespace,
enum boolean ignoreRowAlignment,
enum boolean ignoreColumnAlignment,
enum boolean removeBackgroundImages,
enum boolean mergePages);
666 void configureHTMLDevice(RuntimeConfigurationPtr rcPtr,
int fromPage,
int toPage,
enum boolean embedImages,
const char* imageGenerationDirectory,
const char* imageURLPrefix,
enum boolean removeWhitespace,
enum boolean ignoreRowAlignment,
enum boolean ignoreColumnAlignment,
enum boolean removeBackgroundImages);
693 void configureRTFDevice(RuntimeConfigurationPtr rcPtr,
int fromPage,
int toPage,
int imagesResolution,
enum RTFImagesFormatEnum imagesFormat);
720 void configureOORTFDevice(RuntimeConfigurationPtr rcPtr,
int fromPage,
int toPage,
int imagesResolution,
enum RTFImagesFormatEnum imagesFormat);
772 void configureCompatibilityOutput(RuntimeConfigurationPtr rcPtr,
int pageWidthInCharacters,
const char* fontName,
enum boolean fidelity,
const char* reportName,
const char* reportCategory,
const char* systemId);
803 void configureAutoformatOutput(RuntimeConfigurationPtr rcPtr,
const char* fontName,
int fontSize,
enum boolean fidelity,
const char* reportTitle,
const char* fieldNamePatterns,
const char* systemId);
855 void configureCompatibilityOutput1(RuntimeConfigurationPtr rcPtr,
int pageWidthInCharacters,
const char* fontName,
enum boolean fidelity,
const char* reportName,
const char* reportCategory,
const char* systemId,
enum boolean outputCompleteLines,
enum boolean ignoreLeftMargin,
enum boolean ignoreTopMargin);
869 void configurePageSize(RuntimeConfigurationPtr rcPtr,
const char* pageWidth,
const char* pageHeight);
883 void setTitle(RuntimeConfigurationPtr rcPtr,
const char* title);
896 void setAuthor(RuntimeConfigurationPtr rcPtr,
const char* author);
909 void setCreator(RuntimeConfigurationPtr rcPtr,
const char* creator);
922 void setSubject(RuntimeConfigurationPtr rcPtr,
const char* subject);
936 void setKeywords(RuntimeConfigurationPtr rcPtr,
const char* keywords);
980 void setPageMargins(RuntimeConfigurationPtr rcPtr,
const char* topMargin,
const char* bottomMargin,
const char* leftMargin,
const char* rightMargin);
1024 void setPaperMargins(RuntimeConfigurationPtr rcPtr,
const char* topMargin,
const char* bottomMargin,
const char* leftMargin,
const char* rightMargin);
1118 void selectDevice(RuntimeConfigurationPtr rcPtr,
enum outputDeviceEnum device);
1162 void setSVGPageRange(RuntimeConfigurationPtr rcPtr,
int fromPage,
int toPage);
1194 void setPrinterName(RuntimeConfigurationPtr rcPtr,
const char* printerName);
1447 void setSVGCopies(RuntimeConfigurationPtr rcPtr,
int copies);
1482 void setPrinterSides(RuntimeConfigurationPtr rcPtr,
const char* sides);
1738 void configureDistributedEnvironment(RuntimeConfigurationPtr rcPtr,
const char* FGLDIR,
const char* FGLPROFILE,
const char* FGLRESOURCEPATH,
const char* DBPATH);
1763 void setEnvironment(RuntimeConfigurationPtr rcPtr,
const char* values);
void setPrinterNumberUp(RuntimeConfigurationPtr rcPtr, int numberUp)
void setPrinterJobSheets(RuntimeConfigurationPtr rcPtr, const char *jobSheets)
void setSVGOrientationRequested(RuntimeConfigurationPtr rcPtr, const char *orientationRequested)
void setPrinterMediaName(RuntimeConfigurationPtr rcPtr, const char *mediaName)
void configureRTFDevice(RuntimeConfigurationPtr rcPtr, int fromPage, int toPage, int imagesResolution, enum RTFImagesFormatEnum imagesFormat)
void setSharePortWithGDC(RuntimeConfigurationPtr rcPtr, enum boolean share)
void configureAutoformatOutput(RuntimeConfigurationPtr rcPtr, const char *fontName, int fontSize, enum boolean fidelity, const char *reportTitle, const char *fieldNamePatterns, const char *systemId)
void configureSVGPreview(RuntimeConfigurationPtr rcPtr, enum SVGPreviewTypeEnum type)
void setRenderingHints(RuntimeConfigurationPtr rcPtr, const char *values)
void setSVGCopies(RuntimeConfigurationPtr rcPtr, int copies)
void setBrowserDocumentDirectory(RuntimeConfigurationPtr rcPtr, const char *directory)
void setRTFMemoryThreshold(RuntimeConfigurationPtr rcPtr, int memoryThreshold)
void configurePageSize(RuntimeConfigurationPtr rcPtr, const char *pageWidth, const char *pageHeight)
void setPrinterMediaTray(RuntimeConfigurationPtr rcPtr, const char *mediaTray)
void setXLSXMergeCells(RuntimeConfigurationPtr rcPtr, enum boolean mergeCells)
void setDistributedRequestingUserName(RuntimeConfigurationPtr rcPtr, const char *requestingUserName)
void setPrinterResolution(RuntimeConfigurationPtr rcPtr, const char *resolution)
void configureDistributedProcessing(RuntimeConfigurationPtr rcPtr, const char *host, int port)
void configureOORTFDevice(RuntimeConfigurationPtr rcPtr, int fromPage, int toPage, int imagesResolution, enum RTFImagesFormatEnum imagesFormat)
void configureLocalization(RuntimeConfigurationPtr rcPtr, const char *charSet, const char *resourcePath, const char *numberFormat, const char *dateFormat)
void configureSVGDevice(RuntimeConfigurationPtr rcPtr, enum boolean antialiasFonts, enum boolean antialiasShapes, enum boolean embedFonts, enum SVGCharsetToEmbedEnum charsetToEmbed)
void setPrinterName(RuntimeConfigurationPtr rcPtr, const char *printerName)
void setXLSMergeCells(RuntimeConfigurationPtr rcPtr, enum boolean mergeCells)
void setPaperMargins(RuntimeConfigurationPtr rcPtr, const char *topMargin, const char *bottomMargin, const char *leftMargin, const char *rightMargin)
void setBrowserDocumentDirectoryURL(RuntimeConfigurationPtr rcPtr, const char *directory)
void setPrinterJobPriority(RuntimeConfigurationPtr rcPtr, int jobPriority)
void setPrinterMediaSizeName(RuntimeConfigurationPtr rcPtr, const char *mediaSizeName)
void setPrinterJobName(RuntimeConfigurationPtr rcPtr, const char *jobName)
void setAuthor(RuntimeConfigurationPtr rcPtr, const char *author)
void configureCompatibilityOutput1(RuntimeConfigurationPtr rcPtr, int pageWidthInCharacters, const char *fontName, enum boolean fidelity, const char *reportName, const char *reportCategory, const char *systemId, enum boolean outputCompleteLines, enum boolean ignoreLeftMargin, enum boolean ignoreTopMargin)
void setPageSwappingThreshold(RuntimeConfigurationPtr rcPtr, int value)
void selectDevice(RuntimeConfigurationPtr rcPtr, enum outputDeviceEnum device)
void setPrinterRequestingUserName(RuntimeConfigurationPtr rcPtr, const char *requestingUserName)
void setSubject(RuntimeConfigurationPtr rcPtr, const char *subject)
void setSVGSheetCollate(RuntimeConfigurationPtr rcPtr, const char *sheetCollate)
void setCallbackLocalization(RuntimeConfigurationPtr rcPtr, enum boolean value)
void setKeywords(RuntimeConfigurationPtr rcPtr, const char *keywords)
void setXMLEncoding(RuntimeConfigurationPtr rcPtr, const char *xmlEncoding)
void setPrinterJobMediaSheets(RuntimeConfigurationPtr rcPtr, int jobMediaSheets)
void configurePDFFontEmbedding(RuntimeConfigurationPtr rcPtr, enum boolean preferUnicodeEncoding)
void setBrowserFontFileFormat(RuntimeConfigurationPtr rcPtr, enum BrowserFontFileFormatEnum format)
void setBrowserFontDirectory(RuntimeConfigurationPtr rcPtr, const char *directory)
void setPageMargins(RuntimeConfigurationPtr rcPtr, const char *topMargin, const char *bottomMargin, const char *leftMargin, const char *rightMargin)
void configureXLSDevice(RuntimeConfigurationPtr rcPtr, int fromPage, int toPage, enum boolean removeWhitespace, enum boolean ignoreRowAlignment, enum boolean ignoreColumnAlignment, enum boolean removeBackgroundImages, enum boolean mergePages)
void setPrinterFidelity(RuntimeConfigurationPtr rcPtr, enum boolean fidelity)
char * getPIAttributes(RuntimeConfigurationPtr rcPtr)
void configureXLSXDevice(RuntimeConfigurationPtr rcPtr, int fromPage, int toPage, enum boolean removeWhitespace, enum boolean ignoreRowAlignment, enum boolean ignoreColumnAlignment, enum boolean removeBackgroundImages, enum boolean mergePages)
void setSVGPrinterName(RuntimeConfigurationPtr rcPtr, const char *printerName)
void configureDistributedEnvironment(RuntimeConfigurationPtr rcPtr, const char *FGLDIR, const char *FGLPROFILE, const char *FGLRESOURCEPATH, const char *DBPATH)
void setBrowserFontDirectoryURL(RuntimeConfigurationPtr rcPtr, const char *directory)
void setEnvironment(RuntimeConfigurationPtr rcPtr, const char *values)
void configurePDFDevice(RuntimeConfigurationPtr rcPtr, const char *fontDirectory, enum boolean antialiasFonts, enum boolean antialiasShapes, enum boolean monochrome, int fromPage, int toPage)
void selectLogicalPageMapping(RuntimeConfigurationPtr rcPtr, enum logicalPageMappingEnum mapping)
void configureHTMLDevice(RuntimeConfigurationPtr rcPtr, int fromPage, int toPage, enum boolean embedImages, const char *imageGenerationDirectory, const char *imageURLPrefix, enum boolean removeWhitespace, enum boolean ignoreRowAlignment, enum boolean ignoreColumnAlignment, enum boolean removeBackgroundImages)
void setPDFImageResolution(RuntimeConfigurationPtr rcPtr, int imagesResolution)
void setTitle(RuntimeConfigurationPtr rcPtr, const char *title)
void setAutoformatType(RuntimeConfigurationPtr rcPtr, enum autoformatTypeEnum type)
void setSVGPaperSource(RuntimeConfigurationPtr rcPtr, const char *paperSource)
void configureMultipageOutput(RuntimeConfigurationPtr rcPtr, int pageExponent, int isoNumber, enum boolean portrait)
void markOverfullBoxesInDocument(RuntimeConfigurationPtr rcPtr, enum boolean value)
void configureCompatibilityOutput(RuntimeConfigurationPtr rcPtr, int pageWidthInCharacters, const char *fontName, enum boolean fidelity, const char *reportName, const char *reportCategory, const char *systemId)
void configureImageDevice(RuntimeConfigurationPtr rcPtr, enum boolean antialiasFonts, enum boolean antialiasShapes, enum boolean monochrome, int fromPage, int toPage, const char *fileType, const char *filePath, const char *fileNamePrefix, int resolution)
void setImageUsePageNamesAsFileNames(RuntimeConfigurationPtr rcPtr, enum boolean value)
void setPrinterSheetCollate(RuntimeConfigurationPtr rcPtr, const char *sheetCollate)
void setPrinterDestinationUrl(RuntimeConfigurationPtr rcPtr, const char *destination)
void setImageShrinkImagesToPageContent(RuntimeConfigurationPtr rcPtr, enum boolean value)
void setPrinterChromaticity(RuntimeConfigurationPtr rcPtr, const char *chromaticity)
void setPrinterSides(RuntimeConfigurationPtr rcPtr, const char *sides)
void configureLabelOutput(RuntimeConfigurationPtr rcPtr, const char *paperWidth, const char *paperHeight, const char *labelWidth, const char *labelHeight, int labelsPerRow, int labelsPerColumn)
void setProcessLevelDataFile(RuntimeConfigurationPtr rcPtr, const char *dataFileName)
void setPrinterJobImpressions(RuntimeConfigurationPtr rcPtr, int jobImpressions)
void setPDFJPEGImageEncoding(RuntimeConfigurationPtr rcPtr, enum boolean encodeImagesAsJPEG, float jpegQuality)
void setPrinterWriteToFile(RuntimeConfigurationPtr rcPtr, const char *file)
void setPrinterOrientationRequested(RuntimeConfigurationPtr rcPtr, const char *orientationRequested)
void setPrinterPageRanges(RuntimeConfigurationPtr rcPtr, const char *pageRanges)
void setOutputFileName(RuntimeConfigurationPtr rcPtr, const char *fileName)
void setSVGPageRange(RuntimeConfigurationPtr rcPtr, int fromPage, int toPage)
void setSVGCompression(RuntimeConfigurationPtr rcPtr, enum boolean compressOutput)
void setCreator(RuntimeConfigurationPtr rcPtr, const char *creator)
void setPrinterPrintQuality(RuntimeConfigurationPtr rcPtr, const char *printQuality)
void setPrinterCopies(RuntimeConfigurationPtr rcPtr, int copies)
void setPrinterPJLVariables(RuntimeConfigurationPtr rcPtr, const char *values)