Main Page   Namespace List   Compound List   File List   Compound Members   File Members  

xfoifc.h

Go to the documentation of this file.
00001 /**
00002  * @file    xfoifc.h
00003  * @brief   XSL Formatter V3 C++ Interface
00004  *
00005  * @author  Antenna House, Inc.
00006  *
00007  * Copyright (C) 2002-2003 Antenna House, Inc. All rights reserved.
00008  */
00009 
00010 #ifndef XFOIFC_H__
00011 #define XFOIFC_H__
00012 
00013 #ifndef __cplusplus
00014 #error  This is a header for C++ compiler.
00015 #endif
00016 
00017 #include <iostream>
00018 #include "xfoifc_c.h"   /* include common definitions */
00019 
00020 namespace XfoInterface {
00021 
00022 class XfoCppIfObject;
00023 
00024 /***************************************************************
00025  * Event class that returns the error information in the formatting process.
00026  */
00027 class XFOINTERFACE_API MessageListener
00028 {
00029 public:
00030     MessageListener() {}
00031     virtual ~MessageListener() {}
00032 
00033     /**
00034      * Event that returns the error information(error level, error code, error message) in the formatting process.
00035      *
00036      * errLevel     - Returns the errorlevel
00037      * errCode      - Returns the errorcode
00038      * errMessage   - Returns the errormessage
00039      */
00040     virtual void onMessage(XfoIfErrorLevel errLevel, XfoIfErrorCode errCode, const char* errMessage) {}
00041     virtual void onMessageW(XfoIfErrorLevel errLevel, XfoIfErrorCode errCode, const wchar_t* errMessage) {}
00042 };
00043 
00044 /***************************************************************
00045  * Event class that returns the page number in the formatting process.
00046  */
00047 class XFOINTERFACE_API FormatPageListener
00048 {
00049 public:
00050     FormatPageListener() {}
00051     virtual ~FormatPageListener() {}
00052 
00053     /**
00054      * Event that returns the page number in the formatting process.
00055      *
00056      * pageNo       - Returns the page number
00057      */
00058     virtual void onFormatPage(long pageNo) {}
00059 };
00060 
00061 /***************************************************************
00062  * XSL Formatter V3 C++ Interface Object Class
00063  */
00064 class XFOINTERFACE_API XfoObj
00065 {
00066 private:
00067     XfoCppIfObject* m_pXfoObj;  /* instance of XfoObj */
00068 
00069 public:
00070     /**
00071      * Constructor
00072      */
00073     XfoObj();
00074 
00075     /**
00076      * Destructor
00077      */
00078     virtual ~XfoObj();
00079 
00080     /**
00081      * Get instance of XfoObj
00082      *
00083      * @return  pointer to XfoObj instance.
00084      */
00085     XfoCppIfObject* getXfoObj() const { return m_pXfoObj; }
00086 
00087     /**
00088      * Get the URL of XML document you will format.
00089      *
00090      * @param   pVal        Pointer to the buffer that will receive the text. If the string is as long or longer than the buffer,
00091      *            the string is truncated and terminated with a NULL character.
00092      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
00093      * @return  Returns the 'pVal'.
00094      */
00095     char*    getDocumentURI(char* pVal, int size) const;
00096     /**
00097      * Get the URL of XML document you will format.
00098      *
00099      * @param   pVal        Pointer to the buffer that will receive the text. If the string is as long or longer than the buffer,
00100      *            the string is truncated and terminated with a NULL character.
00101      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
00102      * @return  Returns the 'pVal'.
00103      */
00104     wchar_t* getDocumentURIW(wchar_t* pVal, int size) const;
00105 
00106     /**
00107      * Specifies the URL of XML document you will format.
00108      * If it is omitted or "\@STDIN" is specified, XML document is loaded from stdin.
00109      * The document loaded from stdin are supposed to be FO files.
00110      *
00111      * @param   newVal  Pointer to a null-terminated string to be used as the URL of XML document.
00112      */
00113     void setDocumentURI(const char* newVal);
00114 
00115     /**
00116      * Specifies the URL of XML document you will format.
00117      * If it is omitted or "\@STDIN" is specified, XML document is loaded from stdin.
00118      * The document loaded from stdin are supposed to be FO files.
00119      *
00120      * @param   newVal  Pointer to a null-terminated string to be used as the URL of XML document.
00121      */
00122     void setDocumentURIW(const wchar_t* newVal);
00123 
00124     /**
00125      * Get the URI of XSL stylesheet for formatting.
00126      *
00127      * @param   pVal        Pointer to the buffer that will receive the text. If the string is as long or longer than the buffer,
00128      *            the string is truncated and terminated with a NULL character.
00129      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
00130      * @return  Returns the 'pVal'.
00131      */
00132     char*    getStylesheetURI(char* pVal, int size) const;
00133     /**
00134      * Get the URI of XSL stylesheet for formatting.
00135      *
00136      * @param   pVal        Pointer to the buffer that will receive the text. If the string is as long or longer than the buffer,
00137      *            the string is truncated and terminated with a NULL character.
00138      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
00139      * @return  Returns the 'pVal'.
00140      */
00141     wchar_t* getStylesheetURIW(wchar_t* pVal, int size) const;
00142 
00143     /**
00144      * Specifies the URI of XSL stylesheet for formatting.
00145      * If the specified XML document is FO, or the XML file contains the processing instruction
00146      * &lt;?xml-stylesheet ...?&gt; and the XSL stylesheet is specified, this setting is ignored.
00147      * Otherwise if there is no setting of this property, an error occurs.
00148      *
00149      * @param   newVal  Pointer to a null-terminated string to be used as the URL of XSL stylesheet.
00150      */
00151     void setStylesheetURI(const char* newVal);
00152 
00153     /**
00154      * Specifies the URI of XSL stylesheet for formatting.
00155      * If the specified XML document is FO, or the XML file contains the processing instruction
00156      * &lt;?xml-stylesheet ...?&gt; and the XSL stylesheet is specified, this setting is ignored.
00157      * Otherwise if there is no setting of this property, an error occurs.
00158      *
00159      * @param   newVal  Pointer to a null-terminated string to be used as the URL of XSL stylesheet.
00160      */
00161     void setStylesheetURIW(const wchar_t* newVal);
00162 
00163     /**
00164      * Get the path name of the output file.
00165      *
00166      * @param   pVal        Pointer to the buffer that will receive the text. If the string is as long or longer than the buffer,
00167      *            the string is truncated and terminated with a NULL character.
00168      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
00169      * @return  Returns the 'pVal'.
00170      */
00171     char*    getOutputFilePath(char* pVal, int size) const;
00172     /**
00173      * Get the path name of the output file.
00174      *
00175      * @param   pVal        Pointer to the buffer that will receive the text. If the string is as long or longer than the buffer,
00176      *            the string is truncated and terminated with a NULL character.
00177      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
00178      * @return  Returns the 'pVal'.
00179      */
00180     wchar_t* getOutputFilePathW(wchar_t* pVal, int size) const;
00181 
00182     /**
00183      * Specifies the path name of the output file. When "\@STDOUT" is specified, it is considered as stdout.
00184      * If both the printer name and  this property are specified, the formatted result will be stored in
00185      * the file by the printer driver.
00186      * When "\@PDF" is specified as output, the PDF is stored in the file specified by this property.
00187      * If the property is not specified, it is considered as stdout.
00188      *
00189      * @param   newVal  Pointer to a null-terminated string to be used as the path name of the output file.
00190      */
00191     void setOutputFilePath(const char* newVal);
00192     /**
00193      * Specifies the path name of the output file. When "\@STDOUT" is specified, it is considered as stdout.
00194      * If both the printer name and  this property are specified, the formatted result will be stored in
00195      * the file by the printer driver.
00196      * When "\@PDF" is specified as output, the PDF is stored in the file specified by this property.
00197      * If the property is not specified, it is considered as stdout.
00198      *
00199      * @param   newVal  Pointer to a null-terminated string to be used as the path name of the output file.
00200      */
00201     void setOutputFilePathW(const wchar_t* newVal);
00202 
00203     /**
00204      * Get the path name of XML-format Option setting file which describes XSL Formatter options.
00205      *
00206      * @param   pVal        Pointer to the buffer that will receive the text. If the string is as long or longer than the buffer,
00207      *            the string is truncated and terminated with a NULL character.
00208      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
00209      * @param   n       Specifies to get n-th URI. 0 means first URI.
00210      * @return  Returns the 'pVal'.
00211      */
00212     char*    getOptionFileURI(char* pVal, int size, int n=0) const;
00213     /**
00214      * Get the path name of XML-format Option setting file which describes XSL Formatter options.
00215      *
00216      * @param   pVal        Pointer to the buffer that will receive the text. If the string is as long or longer than the buffer,
00217      *            the string is truncated and terminated with a NULL character.
00218      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
00219      * @param   n       Specifies to get n-th URI. 0 means first URI.
00220      * @return  Returns the 'pVal'.
00221      */
00222     wchar_t* getOptionFileURIW(wchar_t* pVal, int size, int n=0) const;
00223 
00224     /**
00225      * Specifies the path name of XML-format Option setting file which describes XSL Formatter options.
00226      * The set of former URIs is thrown away.
00227      *
00228      * @param   newVal  Pointer to a null-terminated string to be used as the path name of XML-format Option setting file.
00229      */
00230     void setOptionFileURI(const char* newVal);
00231     /**
00232      * Specifies the path name of XML-format Option setting file which describes XSL Formatter options.
00233      * The set of former URIs is thrown away.
00234      *
00235      * @param   newVal  Pointer to a null-terminated string to be used as the path name of XML-format Option setting file.
00236      */
00237     void setOptionFileURIW(const wchar_t* newVal);
00238 
00239     /**
00240      * Append the path name of XML-format Option setting file which describes XSL Formatter options.
00241      * @since 3.1
00242      *
00243      * @param   newVal  Pointer to a null-terminated string to be used as the path name of XML-format Option setting file.
00244      */
00245     void addOptionFileURI(const char* newVal);
00246     /**
00247      * Append the path name of XML-format Option setting file which describes XSL Formatter options.
00248      * @since 3.1
00249      *
00250      * @param   newVal  Pointer to a null-terminated string to be used as the path name of XML-format Option setting file.
00251      */
00252     void addOptionFileURIW(const wchar_t* newVal);
00253 
00254     /**
00255      * Get the number of URIs of XML-format Option setting file which describes XSL Formatter options.
00256      * @since 3.1
00257      *
00258      * @return  Returns the number of URIs.
00259      */
00260     int getOptionFileCount() const;
00261 
00262     /**
00263      * Get the output FO file as the result of XSLT when the input files are an XML document and XSL stylesheet.
00264      *
00265      * @param   pVal        Pointer to the buffer that will receive the text. If the string is as long or longer than the buffer,
00266      *            the string is truncated and terminated with a NULL character.
00267      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
00268      * @return  Returns the 'pVal'.
00269      */
00270     char*    getOutputFOPath(char* pVal, int size) const;
00271     /**
00272      * Get the output FO file as the result of XSLT when the input files are an XML document and XSL stylesheet.
00273      *
00274      * @param   pVal        Pointer to the buffer that will receive the text. If the string is as long or longer than the buffer,
00275      *            the string is truncated and terminated with a NULL character.
00276      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
00277      * @return  Returns the 'pVal'.
00278      */
00279     wchar_t* getOutputFOPathW(wchar_t* pVal, int size) const;
00280 
00281     /**
00282      * Specifies the output FO file as the result of XSLT when the input files are an XML document and XSL stylesheet.
00283      * If the input file is FO, no file is outputted. When "\@STDOUT" is specified, it is considered as stdout.
00284      * If the setting is omitted, nothing outputs.
00285      *
00286      * @param   newVal  Pointer to a null-terminated string to be used as the path name of output FO file.
00287      */
00288     void setOutputFOPath(const char* newVal);
00289     /**
00290      * Specifies the output FO file as the result of XSLT when the input files are an XML document and XSL stylesheet.
00291      * If the input file is FO, no file is outputted. When "\@STDOUT" is specified, it is considered as stdout.
00292      * If the setting is omitted, nothing outputs.
00293      *
00294      * @param   newVal  Pointer to a null-terminated string to be used as the path name of output FO file.
00295      */
00296     void setOutputFOPathW(const wchar_t* newVal);
00297 
00298     /**
00299      * Get the command line of External XSLT Processor.
00300      *
00301      * @param   pVal        Pointer to the buffer that will receive the text. If the string is as long or longer than the buffer,
00302      *            the string is truncated and terminated with a NULL character.
00303      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
00304      * @return  Returns the 'pVal'.
00305      */
00306     char*    getExternalXSLT(char* pVal, int size) const;
00307     /**
00308      * Get the command line of External XSLT Processor.
00309      *
00310      * @param   pVal        Pointer to the buffer that will receive the text. If the string is as long or longer than the buffer,
00311      *            the string is truncated and terminated with a NULL character.
00312      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
00313      * @return  Returns the 'pVal'.
00314      */
00315     wchar_t* getExternalXSLTW(wchar_t* pVal, int size) const;
00316 
00317     /**
00318      * Specifies the command line of External XSLT Processor.
00319      * If this is omitted, default MSXML3 will be used. For example:
00320      * <pre>
00321      *  xslt \%param -o \%3 \%1 \%2</pre>
00322      *
00323      * These meanings are as follows.<pre>
00324      *  \%1 : XML Document
00325      *  \%2 : XSL Stylesheet
00326      *  \%3 : XSLT Output File
00327      *  \%param : xsl:param</pre>
00328      * \%1 to \%3 are used to express only parameter positions. Do not replace them actual file names.
00329      * In case you use XSL:param for external XSLT processor, set the parameter in XSLTParamFormat and SetXSLTParam.
00330      *
00331      * @param   newVal  Pointer to a null-terminated string to be used as the command line of External XSLT Processor.
00332      */
00333     void setExternalXSLT(const char* newVal);
00334     /**
00335      * Specifies the command line of External XSLT Processor.
00336      * If this is omitted, default MSXML3 will be used. For example:
00337      * <pre>
00338      *  xslt \%param -o \%3 \%1 \%2</pre>
00339      *
00340      * These meanings are as follows.<pre>
00341      *  \%1 : XML Document
00342      *  \%2 : XSL Stylesheet
00343      *  \%3 : XSLT Output File
00344      *  \%param : xsl:param</pre>
00345      * \%1 to \%3 are used to express only parameter positions. Do not replace them actual file names.
00346      * In case you use XSL:param for external XSLT processor, set the parameter in XSLTParamFormat and SetXSLTParam.
00347      *
00348      * @param   newVal  Pointer to a null-terminated string to be used as the command line of External XSLT Processor.
00349      */
00350     void setExternalXSLTW(const wchar_t* newVal);
00351 
00352     /**
00353      * Get the default base URI.
00354      *
00355      * @param   pVal        Pointer to the buffer that will receive the text. If the string is as long or longer than the buffer,
00356      *            the string is truncated and terminated with a NULL character.
00357      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
00358      * @return  Returns the 'pVal'.
00359      */
00360     char*    getBaseURI(char* pVal, int size) const;
00361     /**
00362      * Get the default base URI.
00363      *
00364      * @param   pVal        Pointer to the buffer that will receive the text. If the string is as long or longer than the buffer,
00365      *            the string is truncated and terminated with a NULL character.
00366      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
00367      * @return  Returns the 'pVal'.
00368      */
00369     wchar_t* getBaseURIW(wchar_t* pVal, int size) const;
00370 
00371     /**
00372      * Specifies the default base URI.
00373      *
00374      * @param   newVal  Pointer to a null-terminated string to be used as the default base URI.
00375      */
00376     void setBaseURI(const char* newVal);
00377     /**
00378      * Specifies the default base URI.
00379      *
00380      * @param   newVal  Pointer to a null-terminated string to be used as the default base URI.
00381      */
00382     void setBaseURIW(const wchar_t* newVal);
00383 
00384     /**
00385      * Get the parameter format of xsl:param when using External XSLT Processor.
00386      *
00387      * @param   pVal        Pointer to the buffer that will receive the text. If the string is as long or longer than the buffer,
00388      *            the string is truncated and terminated with a NULL character.
00389      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
00390      * @return  Returns the 'pVal'.
00391      */
00392     char*    getXSLTParamFormat(char* pVal, int size) const;
00393     /**
00394      * Get the parameter format of xsl:param when using External XSLT Processor.
00395      *
00396      * @param   pVal        Pointer to the buffer that will receive the text. If the string is as long or longer than the buffer,
00397      *            the string is truncated and terminated with a NULL character.
00398      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
00399      * @return  Returns the 'pVal'.
00400      */
00401     wchar_t* getXSLTParamFormatW(wchar_t* pVal, int size);
00402 
00403     /**
00404      * Specifies the parameter format of xsl:param when using External XSLT Processor.  For example:
00405      * <pre>
00406      *   -p \%p \%v</pre>
00407      *
00408      * These meanings are as follows.<pre>
00409      *  \%p : Parameter Name
00410      *  \%v : Parameter Value</pre>
00411      *
00412      * @param   newVal  Pointer to a null-terminated string to be used as the parameter format of xsl:param when using External XSLT Processor.
00413      */
00414     void setXSLTParamFormat(const char* newVal);
00415     /**
00416      * Specifies the parameter format of xsl:param when using External XSLT Processor.  For example:
00417      * <pre>
00418      *   -p \%p \%v</pre>
00419      *
00420      * These meanings are as follows.<pre>
00421      *  \%p : Parameter Name
00422      *  \%v : Parameter Value</pre>
00423      *
00424      * @param   newVal  Pointer to a null-terminated string to be used as the parameter format of xsl:param when using External XSLT Processor.
00425      */
00426     void setXSLTParamFormatW(const wchar_t* newVal);
00427 
00428     /**
00429      * Get the start page number of document to output.
00430      *
00431      * @return  start page number of document to output.
00432      */
00433     long getStartPage() const;
00434 
00435     /**
00436      * Specifies the start page number of document to output.
00437      * If the start page is omitted or the specified value is 0 or less, the start page is
00438      * considered from the first page.
00439      * If the setting is inconsistent, (for example, StartPage=5 EndPage=3) an error occurs.
00440      *
00441      * @param   newVal  start page number of output.
00442      */
00443     void setStartPage(long newVal);
00444 
00445     /**
00446      * Get the end page number of document to output.
00447      *
00448      * @return  end page number of output.
00449      */
00450     long getEndPage() const;
00451 
00452     /**
00453      * Specifies the end page number of document to output.
00454      * If the end page is omitted or the specified value exceeds the actual page number, the end page
00455      * is considered as the last page.
00456      * If the setting is inconsistent, (for example, StartPage=5 EndPage=3) an error occurs.
00457      *
00458      * @param   newVal  end page number of output.
00459      */
00460     void setEndPage(long newVal);
00461 
00462     /**
00463      * Effective when outputting to PDF.
00464      * Specifies the master password for PDF. The password must be within 32 bytes.
00465      * @since 3.1
00466      *
00467      * @param   newVal  Pointer to a null-terminated string to be used as the master password.
00468      */
00469     void setPdfMasterPassword(const char* newVal);
00470 
00471     /**
00472      * Effective when outputting to PDF.
00473      * Specifies the master password for PDF. The password must be within 32 bytes.
00474      * @since 3.1
00475      *
00476      * @param   newVal  Pointer to a null-terminated string to be used as the master password.
00477      */
00478     void setPdfMasterPasswordW(const wchar_t* newVal);
00479 
00480     /**
00481      * Effective when outputting to PDF.
00482      * Specifies the user password for PDF. The password must be within 32 bytes.
00483      * @since 3.1
00484      *
00485      * @param   newVal  Pointer to a null-terminated string to be used as the user password.
00486      */
00487     void setPdfUserPassword(const char* newVal);
00488 
00489     /**
00490      * Effective when outputting to PDF.
00491      * Specifies the user password for PDF. The password must be within 32 bytes.
00492      * @since 3.1
00493      *
00494      * @param   newVal  Pointer to a null-terminated string to be used as the user password.
00495      */
00496     void setPdfUserPasswordW(const wchar_t* newVal);
00497 
00498     /**
00499      * Effective when outputting to PDF.
00500      * Disables printing the PDF file.
00501      * @since 3.1
00502      *
00503      * @param   newVal  If nonezero is specified, Disables printing the PDF file.
00504      */
00505     void setPdfNoPrinting(long newVal);
00506 
00507     /**
00508      * Effective when outputting to PDF.
00509      * Get disables printing the PDF file.
00510      * @since 3.1
00511      *
00512      * @return  If zero is returned, Enables printing the PDF file.
00513      *          If nonezero is returned, Disables printing the PDF file.
00514      */
00515     long getPdfNoPrinting() const;
00516 
00517     /**
00518      * Effective when outputting to PDF.
00519      * Disables making changes of the PDF file.
00520      * @since 3.1
00521      *
00522      * @param   newVal  If nonezero is specified, Disables making changes of the PDF file.
00523      */
00524     void setPdfNoChanging(long newVal);
00525 
00526     /**
00527      * Effective when outputting to PDF.
00528      * Get disables making changes of the PDF file.
00529      * @since 3.1
00530      *
00531      * @return  If zero is returned, Enables making changes of the PDF file.
00532      *          If nonezero is returned, Disables making changes of the PDF file.
00533      */
00534     long getPdfNoChanging() const;
00535 
00536     /**
00537      * Effective when outputting to PDF.
00538      * Disables copying the content of the PDF file.
00539      * @since 3.1
00540      *
00541      * @param   newVal  If nonezero is specified, Disables copying the content of the PDF file.
00542      */
00543     void setPdfNoContentCopying(long newVal);
00544 
00545     /**
00546      * Effective when outputting to PDF.
00547      * Get disables copying the content of the PDF file.
00548      * @since 3.1
00549      *
00550      * @return  If zero is returned, Enables copying the content of the PDF file.
00551      *          If nonezero is returned, Disables copying the content of the PDF file.
00552      */
00553     long getPdfNoContentCopying() const;
00554 
00555     /**
00556      * Effective when outputting to PDF.
00557      * Disables adding comments and form fields to the PDF file.
00558      * @since 3.1
00559      *
00560      * @param   newVal  If nonezero is specified, Disables adding comments and form fields to the PDF file.
00561      */
00562     void setPdfNoAddingOrChangingCommnets(long newVal);
00563 
00564     /**
00565      * Effective when outputting to PDF.
00566      * Get disables adding comments and form fields to the PDF file.
00567      * @since 3.1
00568      *
00569      * @return  If zero is returned, Enables adding comments and form fields to the PDF file.
00570      *          If nonezero is returned, Disables adding comments and form fields to the PDF file.
00571      */
00572     long getPdfNoAddingOrChangingCommnets() const;
00573 
00574     /**
00575      * Effective when outputting to PDF.
00576      * Disables adding comments and form fields to the PDF file.
00577      * @since 3.1
00578      *
00579      * @param   newVal  If nonezero is specified, Disables adding comments and form fields to the PDF file.
00580      */
00581     void setPdfNoAddingOrChangingComments(long newVal);
00582 
00583     /**
00584      * Effective when outputting to PDF.
00585      * Get disables adding comments and form fields to the PDF file.
00586      * @since 3.1
00587      *
00588      * @return  If zero is returned, Enables adding comments and form fields to the PDF file.
00589      *          If nonezero is returned, Disables adding comments and form fields to the PDF file.
00590      */
00591     long getPdfNoAddingOrChangingComments() const;
00592 
00593     /**
00594      * Effective when outputting to PDF.
00595      * Enables specifying whether the version of PDF is 1.3, 1.4 or 1.5.
00596      * @since 3.1
00597      *
00598      * @param   newVal  Specifies the version of PDF.
00599      */
00600     void setPdfVersion(PDFVERSION newVal);
00601 
00602     /**
00603      * Effective when outputting to PDF.
00604      * Get the version of PDF.
00605      * @since 3.1
00606      *
00607      * @return  the version of PDF.
00608      */
00609     PDFVERSION  getPdfVersion() const;
00610 
00611     /**
00612      * Effective when outputting to PDF.
00613      * Disables filling in of form fields and signing of the PDF file.
00614      * This parameter is effective only when you specify PDF1.4 or later to PDF version.
00615      * @since 3.1
00616      *
00617      * @param   newVal  If nonezero is specified, Disables filling in of form fields and signing of the PDF file.
00618      */
00619     void setPdfNoFillForm(long newVal);
00620 
00621     /**
00622      * Effective when outputting to PDF.
00623      * Get disables filling in of form fields and signing of the PDF file.
00624      * @since 3.1
00625      *
00626      * @return  If zero is returned, Enables filling in of form fields and signing of the PDF file.
00627      *          If nonezero is returned, Disables filling in of form fields and signing of the PDF file.
00628      */
00629     long getPdfNoFillForm() const;
00630 
00631     /**
00632      * Effective when outputting to PDF.
00633      * Disables text access for screen reader devices of the PDF file.
00634      * This parameter is effective only when you specify 1.4 or later with PDF version.
00635      * @since 3.1
00636      *
00637      * @param   newVal  If nonezero is specified, Disables text access for screen reader devices of the PDF file.
00638      */
00639     void setPdfNoAccessibility(long newVal);
00640 
00641     /**
00642      * Effective when outputting to PDF.
00643      * Get disables text access for screen reader devices of the PDF file.
00644      * @since 3.1
00645      *
00646      * @return  If zero is returned, Enables text access for screen reader devices of the PDF file.
00647      *          If nonezero is returned, Disables text access for screen reader devices of the PDF file.
00648      */
00649     long getPdfNoAccessibility() const;
00650 
00651     /**
00652      * Effective when outputting to PDF.
00653      * Disables inserting, deleting and rotating the PDF pages.
00654      * This parameter is effective only when you specify 1.4 or later with PDF version
00655      * @since 3.1
00656      *
00657      * @param   newVal  If nonezero is specified, Disables inserting, deleting and rotating the PDF pages.
00658      */
00659     void setPdfNoAssembleDoc(long newVal);
00660 
00661     /**
00662      * Effective when outputting to PDF.
00663      * Get disables inserting, deleting and rotating the PDF pages.
00664      * @since 3.1
00665      *
00666      * @return  If zero is returned, Enables inserting, deleting and rotating the PDF pages.
00667      *          If nonezero is returned, Disables inserting, deleting and rotating the PDF pages.
00668      */
00669     long getPdfNoAssembleDoc() const;
00670 
00671     /**
00672      * Effective when outputting to PDF.
00673      * Specifies the key length when encrypting the PDF file during outputting.
00674      * The key length can be specified as either 40 or 128 (bit).
00675      * This parameter is effective only when you specify PDF1.4 or later with PDF version
00676      * @since 3.1
00677      *
00678      * @param   newVal  Specifies the key length.
00679      */
00680     void setPdfEncryptLevel(PDFENCRYPTLEVEL newVal);
00681 
00682     /**
00683      * Effective when outputting to PDF.
00684      * Get the key length when encrypting the PDF file during outputting.
00685      * @since 3.1
00686      *
00687      * @return  the key length.
00688      */
00689     PDFENCRYPTLEVEL getPdfEncryptLevel() const;
00690 
00691     /**
00692      * Effective when outputting to PDF.
00693      * Gets the value of whether to embed all embeddable fonts in PDF.
00694      * @since 3.1
00695      *
00696      * @return  the value of whether to embed all embeddable fonts
00697      */
00698     long getPdfEmbedAllFonts() const;
00699 
00700     /**
00701      * Effective when outputting to PDF.
00702      * Embeds all embeddable fonts in PDF to create.
00703      * @since 3.1
00704      *
00705      * @param   newVal  If the value is 'true' is specified, Embeds all embeddable fonts
00706      */
00707     void setPdfEmbedAllFonts(long newVal);
00708 
00709     /**
00710      * Effective when outputting to PDF.
00711      * Gets the font specified to be embedded in PDF.
00712      * @since 3.1
00713      *
00714      * @param   pVal        Pointer to the buffer that will receive the text. If the string is as long or longer than the buffer, the string is truncated and terminated with a NULL character.
00715      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
00716      * @return  the font specified to be embedded
00717      */
00718     char* getPdfEmbedFonts(char* pVal, int size) const;
00719 
00720     /**
00721      * Effective when outputting to PDF.
00722      * Gets the font specified to be embedded in PDF.
00723      * @since 3.1
00724      *
00725      * @param   pVal        Pointer to the buffer that will receive the text. If the string is as long or longer than the buffer, the string is truncated and terminated with a NULL character.
00726      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
00727      * @return  the font specified to be embedded
00728      */
00729     wchar_t* getPdfEmbedFontsW(wchar_t* pVal, int size) const;
00730 
00731     /**
00732      * Effective when outputting to PDF.
00733      * Embeds the specified font in PDF to create. If you want to specify plural fonts, put commas between fonts.
00734      * @since 3.1
00735      *
00736      * @param   newVal  fonts specified to embed
00737      */
00738     void setPdfEmbedFonts(const char* newVal);
00739 
00740     /**
00741      * Effective when outputting to PDF.
00742      * Embeds the specified font in PDF to create. If you want to specify plural fonts, put commas between fonts.
00743      * @since 3.1
00744      *
00745      * @param   newVal  fonts specified to embed
00746      */
00747     void setPdfEmbedFontsW(const wchar_t* newVal);
00748 
00749     /**
00750      * Effective when outputting to PDF.
00751      * Gets the value of whether to issues the error when failing to embed fonts.
00752      * @since 3.1
00753      *
00754      * @return  the value of whether to issues the error
00755      */
00756     long getPdfErrorOnEmbedFault() const;
00757 
00758     /**
00759      * Effective when outputting to PDF.
00760      * an error is issued in case of failing to embed fonts.
00761      * @since 3.1
00762      *
00763      * @param   newVal  If the value is 'true' is specified, an error is issued.
00764      */
00765     void setPdfErrorOnEmbedFault(long newVal);
00766 
00767     /**
00768      * Effective when outputting to PDF.
00769      * Gets the value of whether to issues the error when missing glyph.
00770      * @since 3.3
00771      *
00772      * @return  the value of whether to issues the error
00773      */
00774     long getPdfErrorOnMissingGlyph() const;
00775 
00776     /**
00777      * Effective when outputting to PDF.
00778      * an error is issued in case of missing glyph.
00779      * @since 3.3
00780      *
00781      * @param   newVal  If the value is 'true' is specified, an error is issued.
00782      */
00783     void setPdfErrorOnMissingGlyph(long newVal);
00784 
00785     /**
00786      * Effective when outputting to PDF.
00787      * Gets the value of whether to print the resulting PDF file or not.
00788      * @since 3.1
00789      *
00790      * <table border="0" cellspacing="0" cellpadding="0">
00791      *  <tr><td>PRALLOW_NONE    </td><td>= 0 Not Allowed</td></tr>
00792      *  <tr><td>PRALLOW_LOW     </td><td>= 1 Low Resolution Printing</td></tr>
00793      *  <tr><td>PRALLOW_HIGH    </td><td>= 2 High Resolution Printing</td></tr>
00794      * </table>
00795      *
00796      * @return  the value of printing allowed
00797      */
00798     PDFPRINTALLOW getPdfPrintingAllowed() const;
00799 
00800     /**
00801      * Effective when outputting to PDF.
00802      * Spesifies whether to permit printing PDF to create with one of the following values.
00803      * This parameter is effective only when you specify PDF1.4 or later to PDF version (setPdfVersion).
00804      * @since 3.1
00805      *
00806      * <table border="0" cellspacing="0" cellpadding="0">
00807      *  <tr><td>PRALLOW_NONE    </td><td>= 0 Not Allowed</td></tr>
00808      *  <tr><td>PRALLOW_LOW     </td><td>= 1 Low Resolution Printing</td></tr>
00809      *  <tr><td>PRALLOW_HIGH    </td><td>= 2 High Resolution Printing</td></tr>
00810      * </table>
00811      *
00812      * @param   newVal  the value of printing allowed
00813      */
00814     void setPdfPrintingAllowed(PDFPRINTALLOW newVal);
00815 
00816     /**
00817      * Effective when outputting to PDF.
00818      * Gets the value of how to compress the color images embedded in PDF.
00819      * @since 3.1
00820      *
00821      * <table border="0" cellspacing="0" cellpadding="0">
00822      *  <tr><td>IMGCMPR_AUTO    </td><td>= 0 Auto</td></tr>
00823      *  <tr><td>IMGCMPR_JPEG    </td><td>= 1 JPEG compression</td></tr>
00824      *  <tr><td>IMGCMPR_ZLIB    </td><td>= 2 ZLIB compression</td></tr>
00825      *  <tr><td>IMGCMPR_JPEG2K  </td><td>= 3 JPEG2000 compression</td></tr>
00826      * </table>
00827      *
00828      * @return  the value of how raster graphics are compressed and stored
00829      */
00830     PDFIMAGECOMPRESSION getPdfImageCompression() const;
00831 
00832     /**
00833      * Effective when outputting to PDF.
00834      * When the color image format cannot be stored directly in PDF, the image is stored after being transformed into the bit map format which is compatible with PDF. The compression method of the data stored in a PDF file is then specified by one of the following values.<BR>
00835      * When IMGCMPR_AUTO is selected, the process is automatically done and creates the image data according to the setting of setPdfJPEGQuality and setPdfRasterizeResolution. Whichever has the smaller compressed size, JPEG or ZLIB, is selected. <BR>
00836 This is the setting for the color image. Spesify setPdfGrayscaleImageCompression for the grayscale image, and setPdfMonochromeImageCompression for the monochrome image.
00837      * @since 3.1
00838      *
00839      * <table border="0" cellspacing="0" cellpadding="0">
00840      *  <tr><td>IMGCMPR_AUTO    </td><td>= 0 Auto</td></tr>
00841      *  <tr><td>IMGCMPR_JPEG    </td><td>= 1 JPEG compression</td></tr>
00842      *  <tr><td>IMGCMPR_ZLIB    </td><td>= 2 ZLIB compression</td></tr>
00843      *  <tr><td>IMGCMPR_JPEG2K  </td><td>= 3 JPEG2000 compression</td></tr>
00844      * </table>
00845      *
00846      * @param   newVal  the value of how raster graphics are compressed and stored
00847      */
00848     void setPdfImageCompression(PDFIMAGECOMPRESSION newVal);
00849 
00850     /**
00851      * Gets the value of the quality of JPEG format that is specified by xfo_setPdfImageCompression() stored in PDF.
00852      * @since 3.1
00853      *
00854      * @return  the value of the quality of JPEG format
00855      */
00856     int  getPdfJPEGQuality() const;
00857 
00858     /**
00859      * Effective when outputting to PDF.
00860      * For the color image format that can not be stored directly in PDF, specifies the image quality by the numerical value within the range of 1-100 when IMGCMPR_JPEG is specified by setPdfImageCompression. The quality becomes higher in proportion to the increase in the number; however the file size also becomes larger.<BR>
00861      * CAUTION:     It is not for changing the quality of a JPEG format image.<BR>
00862      * This is the setting for the color image. Spesify setPdfGrayscaleJPEGQuality for the grayscale image.
00863      * @since 3.1
00864      *
00865      * @param   newVal  the value of the quality of JPEG format
00866      */
00867     void setPdfJPEGQuality(int newVal);
00868 
00869     /**
00870      * Effective when outputting to PDF.
00871      * Gets the value of whether the text and the line art in PDF are compressed in order to make the size of PDF smaller or not.
00872      * @since 3.1
00873      *
00874      * @return  the value of whether make the size of PDF smaller or not
00875      */
00876     long getPdfCompressContentStream() const;
00877 
00878     /**
00879      * Effective when outputting to PDF.
00880      * Specifies whether the text and the line art in PDF are compressed in order to make the size of PDF smaller or not.
00881      * @since 3.1
00882      *
00883      * @param   newVal  If the value is 'true' is specified, make the PDF compress
00884      */
00885     void setPdfCompressContentStream(long newVal);
00886 
00887     /**
00888      * Effective when outputting to PDF.
00889      * Gets the value of how to transform external link specified by the relative address in the PDF link.
00890      * @since 3.1
00891      *
00892      * @return  the value of how to transform external link
00893      */
00894     long getPdfUseLaunchForRelativeURI() const;
00895 
00896     /**
00897      * Effective when outputting to PDF.
00898      * Specifies whether the external link specified by the relative address is transformed into 'Open the file' or into 'World Wide Web link' in the PDF link properties.
00899      * @since 3.1
00900      *
00901      * @param   newVal  If nonezero is specified, it is transformed to 'Open the file'. If zero is specified, it is transformed to 'World Wide Web link'
00902      */
00903     void setPdfUseLaunchForRelativeURI(long newVal);
00904 
00905     /**
00906      * Effective when outputting to PDF.
00907      * Gets the value of how to convert the RGB color space (DebiceRGB) to DeviceGray.
00908      * @since 3.1
00909      *
00910      * <table border="0" cellspacing="0" cellpadding="0">
00911      *  <tr><td>RGBCONV_NONE    </td><td>= 0 No Conversion</td></tr>
00912      *  <tr><td>RGBCONV_BLACK   </td><td>= 1 Black to DeviceGray</td></tr>
00913      *  <tr><td>RGBCONV_GRAY    </td><td>= 2 Gray to DeviceGray</td></tr>
00914      *  <tr><td>RGBCONV_ALL     </td><td>= 3 All RGB to DeviceGray</td></tr>
00915      * </table>
00916      *
00917      * @return  the value of how to convert
00918      */
00919     PDFRGBCONVERSION getPdfRGBConversion() const;
00920 
00921     /**
00922      * Effective when outputting to PDF.
00923      * Specifies how to convert the RGB color space (DeviceRGB) to DeviceGray.
00924      * @since 3.1
00925      *
00926      * <table border="0" cellspacing="0" cellpadding="0">
00927      *  <tr><td>RGBCONV_NONE    </td><td>= 0 No Conversion</td></tr>
00928      *  <tr><td>RGBCONV_BLACK   </td><td>= 1 Black to DeviceGray</td></tr>
00929      *  <tr><td>RGBCONV_GRAY    </td><td>= 2 Gray to DeviceGray</td></tr>
00930      *  <tr><td>RGBCONV_ALL     </td><td>= 3 All RGB to DeviceGray</td></tr>
00931      * </table>
00932      *
00933      * @param   newVal  the value of how to convert
00934      */
00935     void setPdfRGBConversion(PDFRGBCONVERSION newVal);
00936 
00937 #if defined(_DOXYGEN) || (defined(_MSC_VER) && defined(_WIN32))
00938 
00939     /**
00940      * Effective when outputting to PDF.
00941      * Gets the value of the rasterised-resolution of the transformed raster images.
00942      * @since 3.1
00943      *
00944      * @return  Rasterised-resolution
00945      */
00946     int getPdfRasterizeResolution() const;
00947 
00948     /**
00949      * Effective when outputting to PDF.
00950      * Specifies the value of the rasterised-resolution of the transformed raster images in the range from 70 to 500(dpi). SVG, EMF and WMF are drawn in PDF as vectors without being transformed to raster images.
00951      * This setting is effective only with Windows version.
00952      * @since 3.1
00953      *
00954      * @param   newVal  Rasterised-resolution (70 to 500)
00955      */
00956     void setPdfRasterizeResolution(int newVal);
00957 
00958 #endif
00959 
00960     /**
00961      * Effective when outputting to PDF.
00962      * Gets the value of whether to output linearize PDF or not.
00963      * @since 3.3
00964      *
00965      * @return  the value of whether to output linearize pdf or not.
00966      */
00967     long getPdfLinearize() const;
00968 
00969     /**
00970      * Effective when outputting to PDF.
00971      * Specifies whether to output linearize PDF or not.
00972      * @since 3.3
00973      *
00974      * @param   newVal  If the value is 'true' is specified, output linearlize PDF.
00975      */
00976     void setPdfLinearize(long newVal);
00977 
00978     /**
00979      * Effective when outputting to PDF.
00980      * Gets the value of whether to embed all embeddable fonts
00981      * @since 3.3
00982      *
00983      * <table border="0" cellspacing="0" cellpadding="0">
00984      *  <tr><td>EMBALLFONT_PART </td><td>= 0 Specified fonts </td></tr>
00985      *  <tr><td>EMBALLFONT_ALL  </td><td>= 1 All fonts except Base14 fonts</td></tr>
00986      *  <tr><td>EMBALLFONT_BASE14   </td><td>= 2 All fonts</td></tr>
00987      * </table>
00988      *
00989      * @return  the value of whether to embed all embeddable fonts
00990      */
00991     EMBEDALLFONT getPdfEmbedAllFontsEx(void) const;
00992 
00993     /**
00994      * Effective when outputting to PDF.
00995      * Specifies whether to embed the all outline data of fonts in PDF or not with one of the following values, which are True type fonts and Type1 Fonts and are embeddable in the formatted result.
00996      * @since 3.3
00997      *
00998      * <table border="0" cellspacing="0" cellpadding="0">
00999      *  <tr><td>EMBALLFONT_PART </td><td>= 0 Specified fonts </td></tr>
01000      *  <tr><td>EMBALLFONT_ALL  </td><td>= 1 All fonts except Base14 fonts</td></tr>
01001      *  <tr><td>EMBALLFONT_BASE14   </td><td>= 2 All fonts</td></tr>
01002      * </table>
01003      *
01004      *If the value is EMBALLFONT_PART, only fonts specified in setPdfEmbedFonts are embedded. If the value is EMBALLFONT_ALL, all fonts that can be embedded except Base 14 fonts will be embedded. If the value is EMBALLFONT_BASE14, all fonts including Base 14 fonts that can be embedded will be embedded.
01005      *
01006      * @param   newVal  the value of whether to embed all embeddable fonts
01007      */
01008     void setPdfEmbedAllFontsEx(EMBEDALLFONT newVal);
01009 
01010     /**
01011      * Effective when outputting to PDF.
01012      * Gets the value of method to downsample the color image
01013      * @since 3.3
01014      *
01015      * @return  the value of method to downsample the color image
01016      */
01017     IMAGEDOWNSAMPLING getPdfImageDownSampling(void) const;
01018 
01019     /**
01020      * Effective when outputting to PDF.
01021      * Specifies the following either of method to downsample the color image that is put into PDF.
01022      * @since 3.3
01023      *
01024      * <table border="0" cellspacing="0" cellpadding="0">
01025      *  <tr><td>IMGDOWNSAMPLING_NONE    </td><td>= 0 No downsampling </td></tr>
01026      *  <tr><td>IMGDOWNSAMPLING_AVERAGE </td><td>= 1 Average downsamplin</td></tr>
01027      *  <tr><td>IMGDOWNSAMPLING_BICUBIC </td><td>= 2 Bicubic downsampling</td></tr>
01028      *  <tr><td>IMGDOWNSAMPLING_SUBSAMPLING </td><td>= 3 Subsampling</td></tr>
01029      * </table>
01030      *
01031      * When the value except IMGDOWNSAMPLING_NONE is specified, the image that has the resolution larger than the one specified by setPdfImageDownSamplingDPI will be downsampled into the resolution specified by setPdfImageDownSamplingTarget.
01032 This is the setting for the color image. Spesify setPdfGrayscaleImageDownSampling for the grayscale image, and setPdfMonochromeImageDownSampling for the monochrome image.
01033      *
01034      * @param   newVal  the value of method to downsample the color image
01035      */
01036     void setPdfImageDownSampling(IMAGEDOWNSAMPLING newVal);
01037 
01038     /**
01039      * Effective when outputting to PDF.
01040      * Gets resolution when the color image is downsampled.
01041      * @since 3.3
01042      *
01043      * @return  the value of resolution.
01044      */
01045     int getPdfImageDownSamplingTarget(void) const;
01046 
01047     /**
01048      * Effective when outputting to PDF.
01049      * Set resolution when the color image is downsampled.
01050      * @since 3.3
01051      *
01052      * @param   newVal  the value of resolution.
01053      */
01054     void setPdfImageDownSamplingTarget(int newVal);
01055 
01056     /**
01057      * Effective when outputting to PDF.
01058      * Gets resolution of the color image which performs a downsampling.
01059      * @since 3.3
01060      *
01061      * @return  the value of resolution.
01062      */
01063     int getPdfImageDownSamplingDPI(void) const;
01064 
01065     /**
01066      * Effective when outputting to PDF.
01067      * Set resolution of the color image which performs a downsampling.
01068      * @since 3.3
01069      *
01070      * @param   newVal  the value of resolution.
01071      */
01072     void setPdfImageDownSamplingDPI(int newVal);
01073 
01074     /**
01075      * Effective when outputting to PDF.
01076      * Gets specification whether to embed to PDF the color profile of the color image that will be embedded to PDF.
01077      * @since 3.3
01078      *
01079      * @return  If nonezero is specified, it is embedded. If zero is specified, it is not embedded.
01080      */
01081     long getPdfPutImageColorProfile(void) const;
01082 
01083     /**
01084      * Effective when outputting to PDF.
01085      * Specifies whether to embed to PDF the color profile of the color image that will be embedded to PDF.
01086      * @since 3.3
01087      *
01088      * @param   newVal  If nonezero is specified, it is embedded. If zero is specified, it is not embedded.
01089      */
01090     void setPdfPutImageColorProfile(long newVal);
01091 
01092     /**
01093      * Effective when outputting to PDF.
01094      * Gets the value of how to compress the grayscale images embedded in PDF.
01095      * @since 3.3
01096      *
01097      * <table border="0" cellspacing="0" cellpadding="0">
01098      *  <tr><td>IMGCMPR_AUTO    </td><td>= 0 Auto</td></tr>
01099      *  <tr><td>IMGCMPR_JPEG    </td><td>= 1 JPEG compression</td></tr>
01100      *  <tr><td>IMGCMPR_ZLIB    </td><td>= 2 ZLIB compression</td></tr>
01101      *  <tr><td>IMGCMPR_JPEG2K  </td><td>= 3 JPEG2000 compression</td></tr>
01102      * </table>
01103      *
01104      * @return  the value of how raster graphics are compressed and stored
01105      */
01106     PDFIMAGECOMPRESSION getPdfGrayscaleImageCompression(void) const;
01107 
01108     /**
01109      * Effective when outputting to PDF.
01110      * When the grayscale image format cannot be stored directly in PDF, the image is stored after being transformed into the bit map format which is compatible with PDF. The compression method of the data stored in a PDF file is then specified by one of the following values.<BR>
01111      * When IMGCMPR_AUTO is selected, the process is automatically done and creates the image data according to the setting of setPdfGrayscaleJPEGQuality and setPdfRasterizeResolution. Whichever has the smaller compressed size, JPEG or ZLIB, is selected. <BR>
01112 This is the setting for the grayscale image. Spesify setPdfImageCompression for the color image, and setPdfMonochromeImageCompression for the monochrome image.
01113      * @since 3.3
01114      *
01115      * <table border="0" cellspacing="0" cellpadding="0">
01116      *  <tr><td>IMGCMPR_AUTO    </td><td>= 0 Auto</td></tr>
01117      *  <tr><td>IMGCMPR_JPEG    </td><td>= 1 JPEG compression</td></tr>
01118      *  <tr><td>IMGCMPR_ZLIB    </td><td>= 2 ZLIB compression</td></tr>
01119      *  <tr><td>IMGCMPR_JPEG2K  </td><td>= 3 JPEG2000 compression</td></tr>
01120      * </table>
01121      *
01122      * @param   newVal  the value of how raster graphics are compressed and stored
01123      */
01124     void setPdfGrayscaleImageCompression(PDFIMAGECOMPRESSION newVal);
01125 
01126     /**
01127      * Effective when outputting to PDF.
01128      * Gets the value of the quality of JPEG format that is specified by xfo_setPdfGrayscaleImageCompression stored in PDF.
01129      * @since 3.3
01130      *
01131      * @return  the value of the quality of JPEG format
01132      */
01133     int getPdfGrayscaleJPEGQuality(void) const;
01134 
01135     /**
01136      * Effective when outputting to PDF.
01137      * For the grayscale image format that can not be stored directly in PDF, specifies the image quality by the numerical value within the range of 1-100 when IMGCMPR_JPEG is specified by setPdfGrayscaleImageCompression. The quality becomes higher in proportion to the increase in the number; however the file size also becomes larger.<BR>
01138      * CAUTION: It is not for changing the quality of a JPEG format image.<BR>
01139      * This is the setting for the grayscale image. Spesify setPdfJPEGQuality for the color image.
01140      * @since 3.3
01141      *
01142      * @param   newVal  the value of the quality of JPEG format
01143      */
01144     void setPdfGrayscaleJPEGQuality(int newVal);
01145 
01146     /**
01147      * Effective when outputting to PDF.
01148      * Gets the value of method to downsample the grayscale image
01149      * @since 3.3
01150      *
01151      * @return  the value of method to downsample the grayscale image
01152      */
01153     IMAGEDOWNSAMPLING getPdfGrayscaleImageDownSampling(void) const;
01154 
01155     /**
01156      * Effective when outputting to PDF.
01157      * Specifies the following either of method to downsample the grayscale image that is put into PDF.
01158      * @since 3.3
01159      *
01160      * <table border="0" cellspacing="0" cellpadding="0">
01161      *  <tr><td>IMGDOWNSAMPLING_NONE    </td><td>= 0 No downsampling </td></tr>
01162      *  <tr><td>IMGDOWNSAMPLING_AVERAGE </td><td>= 1 Average downsamplin</td></tr>
01163      *  <tr><td>IMGDOWNSAMPLING_BICUBIC </td><td>= 2 Bicubic downsampling</td></tr>
01164      *  <tr><td>IMGDOWNSAMPLING_SUBSAMPLING </td><td>= 3 Subsampling</td></tr>
01165      * </table>
01166      *
01167      * When the value except IMGDOWNSAMPLING_NONE is specified, the image that has the resolution larger than the one specified by setPdfGrayscaleImageDownSamplingDPI will be downsampled into the resolution specified by setPdfGrayscaleImageDownSamplingTarget.
01168 This is the setting for the grayscale image. Spesify setPdfImageDownSampling for the color image, and setPdfMonochromeImageDownSampling for the monochrome image.
01169      *
01170      * @param   newVal  the value of method to downsample the grayscale image
01171      */
01172     void setPdfGrayscaleImageDownSampling(IMAGEDOWNSAMPLING newVal);
01173 
01174     /**
01175      * Effective when outputting to PDF.
01176      * Gets resolution when the grayscale image is downsampled.
01177      * @since 3.3
01178      *
01179      * @return  the value of resolution.
01180      */
01181     int getPdfGrayscaleImageDownSamplingTarget(void) const;
01182 
01183     /**
01184      * Effective when outputting to PDF.
01185      * Set resolution when the grayscale image is downsampled.
01186      * @since 3.3
01187      *
01188      * @param   newVal  the value of resolution.
01189      */
01190     void setPdfGrayscaleImageDownSamplingTarget(int newVal);
01191 
01192     /**
01193      * Effective when outputting to PDF.
01194      * Gets resolution of the grayscale image which performs a downsampling.
01195      * @since 3.3
01196      *
01197      * @return  the value of resolution.
01198      */
01199     int getPdfGrayscaleImageDownSamplingDPI(void) const;
01200 
01201     /**
01202      * Effective when outputting to PDF.
01203      * Set resolution of the grayscale image which performs a downsampling.
01204      * @since 3.3
01205      *
01206      * @param   newVal  the value of resolution.
01207      */
01208     void setPdfGrayscaleImageDownSamplingDPI(int newVal);
01209 
01210     /**
01211      * Effective when outputting to PDF.
01212      * Gets the value of how to compress the monochrome images embedded in PDF.
01213      * @since 3.3
01214      *
01215      * <table border="0" cellspacing="0" cellpadding="0">
01216      *  <tr><td>MONOCMPR_CCITT4     </td><td>= 0 CCITTFaxDecode group 4 filter,default value</td></tr>
01217      *  <tr><td>MONOCMPR_CCITT3     </td><td>= 1 CCITTFaxDecode group 3 filter</td></tr>
01218      *  <tr><td>MONOCMPR_RUNLENGTH  </td><td>= 2 RunLengthDecode filter</td></tr>
01219      *  <tr><td>MONOCMPR_ZLIB       </td><td>= 3 FlateDecode filter</td></tr>
01220      *  <tr><td>MONOCMPR_OFF        </td><td>= 4 no filter</td></tr>
01221      * </table>
01222      *
01223      * @return  the value of how raster graphics are compressed and stored
01224      */
01225     MONOCHROMECOMPRESSION getPdfMonochromeImageCompression(void) const;
01226 
01227     /**
01228      * Effective when outputting to PDF.
01229      * When the monochrome image format cannot be stored directly in PDF, the image is stored after being transformed into the bit map format which is compatible with PDF. The compression method of the data stored in a PDF file is then specified by one of the following values.<BR>
01230 This is the setting for the monochrome image. Spesify setPdfGrayscaleImageCompression for the grayscale image, and setPdfImageCompression for the color image.
01231      * @since 3.3
01232      *
01233      * <table border="0" cellspacing="0" cellpadding="0">
01234      *  <tr><td>MONOCMPR_CCITT4     </td><td>= 0 CCITTFaxDecode group 4 filter,default value</td></tr>
01235      *  <tr><td>MONOCMPR_CCITT3     </td><td>= 1 CCITTFaxDecode group 3 filter</td></tr>
01236      *  <tr><td>MONOCMPR_RUNLENGTH  </td><td>= 2 RunLengthDecode filter</td></tr>
01237      *  <tr><td>MONOCMPR_ZLIB       </td><td>= 3 FlateDecode filter</td></tr>
01238      *  <tr><td>MONOCMPR_OFF        </td><td>= 4 no filter</td></tr>
01239      * </table>
01240      *
01241      * @param   newVal  the value of how raster graphics are compressed and stored
01242      */
01243     void setPdfMonochromeImageCompression(MONOCHROMECOMPRESSION newVal);
01244 
01245     /**
01246      * Effective when outputting to PDF.
01247      * Gets the value of method to downsample the monochrome image
01248      * @since 3.3
01249      *
01250      * @return  the value of method to downsample the monochrome image
01251      */
01252     IMAGEDOWNSAMPLING getPdfMonochromeImageDownSampling(void) const;
01253 
01254     /**
01255      * Effective when outputting to PDF.
01256      * Specifies the following either of method to downsample the monochrome image that is put into PDF.
01257      * @since 3.3
01258      *
01259      * <table border="0" cellspacing="0" cellpadding="0">
01260      *  <tr><td>IMGDOWNSAMPLING_NONE    </td><td>= 0 No downsampling </td></tr>
01261      *  <tr><td>IMGDOWNSAMPLING_AVERAGE </td><td>= 1 Average downsamplin</td></tr>
01262      *  <tr><td>IMGDOWNSAMPLING_BICUBIC </td><td>= 2 Bicubic downsampling</td></tr>
01263      *  <tr><td>IMGDOWNSAMPLING_SUBSAMPLING </td><td>= 3 Subsampling</td></tr>
01264      * </table>
01265      *
01266      * When the value except IMGDOWNSAMPLING_NONE is specified, the image that has the resolution larger than the one specified by setPdfMonochromeImageDownSamplingDPI will be downsampled into the resolution specified by setPdfMonochromeImageDownSamplingTarget.
01267 This is the setting for the monochrome image. Spesify setPdfImageDownSampling for the color image, and setPdfGrayscaleImageDownSampling for the grayscale image.
01268      *
01269      * @param   newVal  the value of method to downsample the monochrome image
01270      */
01271     void setPdfMonochromeImageDownSampling(IMAGEDOWNSAMPLING newVal);
01272 
01273     /**
01274      * Effective when outputting to PDF.
01275      * Gets resolution when the monochrome image is downsampled.
01276      * @since 3.3
01277      *
01278      * @return  the value of resolution.
01279      */
01280     int getPdfMonochromeImageDownSamplingTarget(void) const;
01281 
01282     /**
01283      * Effective when outputting to PDF.
01284      * Set resolution when the monochrome image is downsampled.
01285      * @since 3.3
01286      *
01287      * @param   newVal  the value of resolution.
01288      */
01289     void setPdfMonochromeImageDownSamplingTarget(int newVal);
01290 
01291     /**
01292      * Effective when outputting to PDF.
01293      * Gets resolution of the monochrome image which performs a downsampling.
01294      * @since 3.3
01295      *
01296      * @return  the value of resolution.
01297      */
01298     int getPdfMonochromeImageDownSamplingDPI(void) const;
01299 
01300     /**
01301      * Effective when outputting to PDF.
01302      * Set resolution of the monochrome image which performs a downsampling.
01303      * @since 3.3
01304      *
01305      * @param   newVal  the value of resolution.
01306      */
01307     void setPdfMonochromeImageDownSamplingDPI(int newVal);
01308 
01309     /**
01310      * Effective when outputting to SVG.
01311      * Get the version of SVG.
01312      * @since 3.3
01313      *
01314      * @return  the version of SVG.
01315      */
01316     SVGVERSION  getSvgVersion() const;
01317 
01318     /**
01319      * Effective when outputting to SVG.
01320      * Enables specifying whether the version of SVG is 1.1, Basic or Tiny.
01321      * @since 3.3
01322      *
01323      * @param   newVal  Specifies the version of SVG.
01324      */
01325     void setSvgVersion(SVGVERSION newVal);
01326 
01327     /**
01328      * Effective when outputting to SVG.
01329      * Gets the setting indicating whether to compress the outputted SVG into gzip format or not.
01330      * @since 3.3
01331      *
01332      * @return  whether gzip compression or not.
01333      */
01334     long getSvgGzipCompression() const;
01335 
01336     /**
01337      * Effective when outputting to SVG.
01338      * Specifies whether to compress the outputted SVG into gzip format or not.
01339      * @since 3.3
01340      *
01341      * @param   newVal      If the value is 'true' is specified, enables to compress data into gzip format.
01342      */
01343     void setSvgGzipCompression(long newVal);
01344 
01345     /**
01346      * Effective when outputting to SVG.
01347      * Gets the setting indicating whether to embed fonts in the outputted SVG.
01348      * @since 3.3
01349      *
01350      * @return  whether embeds fonts or not.
01351      */
01352     long getSvgEmbedAllFonts() const;
01353 
01354     /**
01355      * Effective when outputting to SVG.
01356      * Specifies whether to embed fonts in the outputted SVG.
01357      * @since 3.3
01358      *
01359      * @param   newVal      If the value is 'true' is specified, embeds fonts.
01360      */
01361     void setSvgEmbedAllFonts(long newVal);
01362 
01363     /**
01364      * Effective when outputting to SVG.
01365      * Gets the format for naming files when the outputted SVG becomes multiple.
01366      * @since 3.3
01367      *
01368      * @param   pVal        Pointer to the buffer that will receive the text. If the string is as long or longer than the buffer, the string is truncated and terminated with a NULL character.
01369      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
01370      * @return  Returns the 'pVal'.
01371      */
01372     char* getSvgFormat(char* pVal, int size) const;
01373 
01374     /**
01375      * Effective when outputting to SVG.
01376      * Gets the format for naming files when the outputted SVG becomes multiple.
01377      * @since 3.3
01378      *
01379      * @param   pVal        Pointer to the buffer that will receive the text. If the string is as long or longer than the buffer, the string is truncated and terminated with a NULL character.
01380      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
01381      * @return  Returns the 'pVal'.
01382      */
01383     wchar_t* getSvgFormatW(wchar_t* pVal, int size) const;
01384 
01385     /**
01386      * Effective when outputting to SVG.
01387      * Specifies the format for naming files when the outputted SVG becomes multiple.
01388      * @since 3.3
01389      *
01390      * @param   newVal  Pointer to a null-terminated string to be used as the SVG file name format.
01391      */
01392     void setSvgFormat(const char* newVal);
01393 
01394     /**
01395      * Effective when outputting to SVG.
01396      * Specifies the format for naming files when the outputted SVG becomes multiple.
01397      * @since 3.3
01398      *
01399      * @param   newVal  Pointer to a null-terminated string to be used as the SVG file name format.
01400      */
01401     void setSvgFormatW(const wchar_t* newVal);
01402 
01403     /**
01404      * Effective when outputting to SVG.
01405      * Gets the font specified to be embedded in SVG.
01406      * @since 3.3
01407      *
01408      * @param   pVal        Pointer to the buffer that will receive the fontnames. If the string is as long or longer than the buffer,
01409      *            the string is truncated and terminated with a NULL character.
01410      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
01411      * @return  Returns the 'pVal'.
01412      */
01413     char* getSvgEmbedFonts(char* pVal, int size) const;
01414 
01415     /**
01416      * Effective when outputting to SVG.
01417      * Gets the font specified to be embedded in SVG.
01418      * @since 3.3
01419      *
01420      * @param   pVal        Pointer to the buffer that will receive the fontnames. If the string is as long or longer than the buffer,
01421      *            the string is truncated and terminated with a NULL character.
01422      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
01423      * @return  Returns the 'pVal'.
01424      */
01425     wchar_t* getSvgEmbedFontsW(wchar_t* pVal, int size) const;
01426 
01427     /**
01428      * Effective when outputting to SVG.
01429      * Embeds the specified font in SVG to create. If you want to specify plural fonts, put commas between fonts.
01430      * @since 3.3
01431      *
01432      * @param   newVal  fonts specified to embed
01433      */
01434     void setSvgEmbedFonts(const char* newVal);
01435 
01436     /**
01437      * Effective when outputting to SVG.
01438      * Embeds the specified font in SVG to create. If you want to specify plural fonts, put commas between fonts.
01439      * @since 3.3
01440      *
01441      * @param   newVal  fonts specified to embed
01442      */
01443     void setSvgEmbedFontsW(const wchar_t* newVal);
01444 
01445     /**
01446      * Effective when outputting to SVG.
01447      * Gets the value of whether to issues the error when failing to embed fonts.
01448      * @since 3.3
01449      *
01450      * @return  the value of whether to issues the error
01451      */
01452     long getSvgErrorOnEmbedFault() const;
01453 
01454     /**
01455      * Effective when outputting to SVG.
01456      * an error is issued in case of failing to embed fonts.
01457      * @since 3.3
01458      *
01459      * @param   newVal  If the value is 'true' is specified, an error is issued.
01460      */
01461     void setSvgErrorOnEmbedFault(long newVal);
01462 
01463     /**
01464      * Effective when outputting to SVG.
01465      * Gets the value of how to compress the images embedded in SVG.
01466      * @since 3.3
01467      *
01468      * <table border="0" cellspacing="0" cellpadding="0">
01469      *  <tr><td>IMGCMPR_AUTO    </td><td>= 0 Auto conversion</td></tr>
01470      *  <tr><td>IMGCMPR_JPEG    </td><td>= 1 JPEG conversion</td></tr>
01471      *  <tr><td>IMGCMPR_PNG     </td><td>= 2 PNG conversion</td></tr>
01472      * </table>
01473      *
01474      * @return  the value of how raster graphics are compressed and stored
01475      */
01476     IMAGECONVERSION getSvgImageConversion() const;
01477 
01478     /**
01479      * Effective when outputting to SVG.
01480      * Selects how to compress the images embedded in SVG to create from the following.
01481      * @since 3.3
01482      *
01483      * <table border="0" cellspacing="0" cellpadding="0">
01484      *  <tr><td>IMGCMPR_AUTO    </td><td>= 0 Auto conversion</td></tr>
01485      *  <tr><td>IMGCMPR_JPEG    </td><td>= 1 JPEG conversion</td></tr>
01486      *  <tr><td>IMGCMPR_PNG     </td><td>= 2 PNG conversion</td></tr>
01487      * </table>
01488      *
01489      * @param   newVal  the value of how raster graphics are compressed and stored
01490      */
01491     void setSvgImageConversion(IMAGECONVERSION newVal);
01492 
01493     /**
01494      * Gets the value of the quality of JPEG format that is specified by setSvgImageConversion() stored in SVG.
01495      * @since 3.3
01496      *
01497      * @return  the value of the quality
01498      */
01499     int getSvgJPEGQuality() const;
01500 
01501     /**
01502      * Effective when outputting to SVG.
01503      * Specifies the quality of the Raster graphics when stored in JPEG format using the range of 1-100.
01504      * The quality becomes higher in proportion to the increase in the number; however the file size also becomes larger.
01505      * The initial value is 80.
01506      * @since 3.3
01507      *
01508      * @param   newVal  JPEG quality (1 to 100)
01509      */
01510     void setSvgJPEGQuality(int newVal);
01511 
01512     /**
01513      * Effective when outputting to SVG.
01514      * Gets specification how to treat the referred image.
01515      * @since 3.3
01516      *
01517      * <table border="0" cellspacing="0" cellpadding="0">
01518      *  <tr><td>IMGPT_EMBED_ALL </td><td>= 0 Embeds all images to SVG.</td></tr>
01519      *  <tr><td>IMGPT_COPY_ALL  </td><td>= 1 Copies all image files to the destination that is specified by setSvgImageCopyPath, and then links.</td></tr>
01520      *  <tr><td>IMGPT_LINK      </td><td>= 2 Links images that have been linked, and embeds the embedded image. However, the raster images other than JPEG and PNG are always embedded.</td></tr>
01521      *  <tr><td>IMGPT_COPY      </td><td>= 3 Copies images that have been linked to the destination that is specified by setSvgImageCopyPath, and links. The embedded image are embedded.</td></tr>
01522      * </table>
01523      *
01524      * @return  specification how to treat the referred image.
01525      */
01526     IMAGEPROCTYPE getSvgImageProcessingType() const;
01527 
01528     /**
01529      * Effective when outputting to SVG.
01530      * Specifies how to treat the referred image.
01531      * @since 3.3
01532      *
01533      * <table border="0" cellspacing="0" cellpadding="0">
01534      *  <tr><td>IMGPT_EMBED_ALL </td><td>= 0 Embeds all images to SVG.</td></tr>
01535      *  <tr><td>IMGPT_COPY_ALL  </td><td>= 1 Copies all image files to the destination that is specified by setSvgImageCopyPath, and then links.</td></tr>
01536      *  <tr><td>IMGPT_LINK      </td><td>= 2 Links images that have been linked, and embeds the embedded image. However, the raster images other than JPEG and PNG are always embedded.</td></tr>
01537      *  <tr><td>IMGPT_COPY      </td><td>= 3 Copies images that have been linked to the destination that is specified by setSvgImageCopyPath, and links. The embedded image are embedded.</td></tr>
01538      * </table>
01539      *
01540      * @param   newVal  specification how to treat the referred image.
01541      */
01542     void setSvgImageProcessingType(IMAGEPROCTYPE newVal);
01543 
01544     /**
01545      * Effective when outputting to SVG.
01546      * Gets the copy destination of image as specifying IMGPT_COPY_ALL or IMGPT_COPY by setSvgImageProcessingType.
01547      * @since 3.3
01548      *
01549      * @param   pVal        Pointer to the buffer that will receive the image copy path. If the string is as long or longer than the buffer,
01550      *            the string is truncated and terminated with a NULL character.
01551      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
01552      * @return  Returns the 'pVal'.
01553      */
01554     char* getSvgImageCopyPath(char* pVal, int size) const;
01555 
01556     /**
01557      * Effective when outputting to SVG.
01558      * Specifies the copy destination of image as specifying IMGPT_COPY_ALL or IMGPT_COPY by setSvgImageProcessingType.
01559      * @since 3.3
01560      *
01561      * @param   newVal  Pointer to a null-terminated string to be used as image copy path
01562      */
01563     void setSvgImageCopyPath(const char* newVal);
01564 
01565     /**
01566      * Effective when outputting to SVG.
01567      * Gets the copy destination of image as specifying IMGPT_COPY_ALL or IMGPT_COPY by setSvgImageProcessingType.
01568      * @since 3.3
01569      *
01570      * @param   pVal        Pointer to the buffer that will receive the image copy path. If the string is as long or longer than the buffer,
01571      *            the string is truncated and terminated with a NULL character.
01572      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
01573      * @return  Returns the 'pVal'.
01574      */
01575     wchar_t* getSvgImageCopyPathW(wchar_t* pVal, int size) const;
01576 
01577     /**
01578      * Effective when outputting to SVG.
01579      * Specifies the copy destination of image as specifying IMGPT_COPY_ALL or IMGPT_COPY by setSvgImageProcessingType.
01580      * @since 3.3
01581      *
01582      * @param   newVal  Pointer to a null-terminated string to be used as image copy path
01583      */
01584     void setSvgImageCopyPathW(const wchar_t* newVal);
01585 
01586     /**
01587      * Effective when outputting to SVG.
01588      * Gets specification whether to divide into multiple SVG or to output as one SVG when the formatted result extends to multiple pages. <BR>
01589      * @since 3.3
01590      *
01591      * @return  specification whether to divide into multiple SVG or to output as one SVG when the formatted result extends to multiple pages.
01592      */
01593     long getSvgSingleFile() const;
01594 
01595     /**
01596      * Effective when outputting to SVG.
01597      * Specifies whether to divide into multiple SVG or to output as one SVG when the formatted result extends to multiple pages. <BR>
01598      * If the value is true, outputs one SVG. If the value is false, outputs multiple SVG. When multiple SVG is output, the file name is modified by specifying format. <BR>
01599      * Effective only when outputting to the file. It is invalid in the output without the file name like the stream etc.
01600      * @since 3.3
01601      *
01602      * @param   newVal  specification whether to divide into multiple SVG or to output as one SVG when the formatted result extends to multiple pages.
01603      */
01604     void setSvgSingleFile(long newVal);
01605 
01606     /**
01607      * Effective when outputting to SVG.
01608      * Gets specification whether to rename all file name to prefix specified by setSvgImagePrefix, or use original name.
01609      * @since 3.3
01610      *
01611      * @return  specification whether to rename all file name to prefix specified by setSvgImagePrefix, or use original name.
01612      */
01613     long getSvgImageRename() const;
01614 
01615     /**
01616      * Effective when outputting to SVG.
01617      * When images are copied to the directory specified by setSvgImageCopyPath etc. and processed, specifies whether to rename all file name to prefix specified by setSvgImagePrefix, or use original name. When the file name overlaps, sequential number is added. When true is specified, all files are renamed.
01618      * @since 3.3
01619      *
01620      * @param   newVal  specification whether to rename all file name to prefix specified by xfo_setSvgImagePrefix, or use original nam
01621      */
01622     void setSvgImageRename(long newVal);
01623 
01624     /**
01625      * Effective when outputting to SVG.
01626      * Gets the prefix of the file name when images are copied to the directory specified by setSvgImageCopyPath and processed.
01627      * @since 3.3
01628      *
01629      * @param   pVal        Pointer to the buffer that will receive the prefix. If the string is as long or longer than the buffer,
01630      *            the string is truncated and terminated with a NULL character.
01631      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
01632      * @return  Returns the 'pVal'.
01633      */
01634     char* getSvgImagePrefix(char* pVal, int size) const;
01635 
01636     /**
01637      * Effective when outputting to SVG.
01638      * When images are copied to the directory specified by setSvgImageCopyPath and processed, specifies the prefix of the file name. The file name will be prefix with sequence numbers. Default is empty character string with only sequential numbers.
01639      * @since 3.3
01640      *
01641      * @param   newVal  the prefix of the file name.
01642      */
01643     void setSvgImagePrefix(const char* newVal);
01644 
01645     /**
01646      * Effective when outputting to SVG.
01647      * Gets the prefix of the file name when images are copied to the directory specified by setSvgImageCopyPath and processed.
01648      * @since 3.3
01649      *
01650      * @param   pVal        Pointer to the buffer that will receive the prefix. If the string is as long or longer than the buffer,
01651      *            the string is truncated and terminated with a NULL character.
01652      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
01653      * @return  Returns the 'pVal'.
01654      */
01655     wchar_t* getSvgImagePrefixW(wchar_t* pVal, int size) const;
01656 
01657     /**
01658      * Effective when outputting to SVG.
01659      * When images are copied to the directory specified by setSvgImageCopyPath and processed, specifies the prefix of the file name. The file name will be prefix with sequence numbers. Default is empty character string with only sequential numbers.
01660      * @since 3.3
01661      *
01662      * @param   newVal  the prefix of the file name.
01663      */
01664     void setSvgImagePrefixW(const wchar_t* newVal);
01665 
01666     /**
01667      * Effective when outputting to SVG.
01668      * Gets specification whether to add sequential number to the output SVG even if it has only one-page.
01669      * @since 3.3
01670      *
01671      * @return  specification whether to add sequential number to the output SVG even if it has only one-page.
01672      */
01673     long getSvgSinglePageNumber() const;
01674 
01675     /**
01676      * Effective when outputting to SVG.
01677      * When xfo_setSvgSingleFile = 0 is specified, specifies whether to add sequential number to the output SVG even if it has only one-page. It is not added in case of false.
01678      * @since 3.3
01679      *
01680      * @param   newVal  specification whether to add sequential number to the output SVG even if it has only one-page.
01681      */
01682     void setSvgSinglePageNumber(long newVal);
01683 
01684 
01685 #if defined(_DOXYGEN) || (defined(_MSC_VER) && defined(_WIN32))
01686     /**
01687      * Effective when outputting to SVG.
01688      * Gets the value of the rasterised-resolution of the transformed raster images.
01689      * @since 3.3
01690      *
01691      * @return  Rasterised-resolution
01692      */
01693     int getSvgRasterizeResolution() const;
01694 
01695     /**
01696      * Effective when outputting to SVG.
01697      * Specifies the value of the rasterised-resolution of the transformed raster images in the range from 70 to 500(dpi). SVG, EMF and WMF are drawn in SVG as vectors without being transformed to raster images.
01698      * This setting is effective only with Windows version.
01699      * @since 3.3
01700      *
01701      * @param   newVal  Rasterised-resolution (70 to 500)
01702      */
01703     void setSvgRasterizeResolution(int newVal);
01704 #endif
01705 
01706     /**
01707      * Get the start volume of document to output.
01708      * @since 3.2
01709      *
01710      * @return  start volume of document to output.
01711      */
01712     long getStartVolume() const;
01713 
01714     /**
01715      * Specifies the start volume of document to output.
01716      * If the start volume is omitted or the specified value is 0 or less, the start volume is
01717      * considered from the first volume.
01718      * If the setting is inconsistent, (for example, StartVolume=5 EndVolume=3) an error occurs.
01719      * @since 3.2
01720      *
01721      * @param   newVal  start volume of output.
01722      */
01723     void setStartVolume(long newVal);
01724 
01725     /**
01726      * Get the end volume of document to output.
01727      * @since 3.2
01728      *
01729      * @return  end volume of output.
01730      */
01731     long getEndVolume() const;
01732 
01733     /**
01734      * Specifies the end volume of document to output.
01735      * If the end volume is omitted or the specified value exceeds the actual volume, the end volume
01736      * is considered as the last volume.
01737      * If the setting is inconsistent, (for example, StartVolume=5 EndVolume=3) an error occurs.
01738      * @since 3.2
01739      *
01740      * @param   newVal  end volume of output.
01741      */
01742     void setEndVolume(long newVal);
01743 
01744     /**
01745      * Get multiple volume  of PDF output.
01746      * @since 3.2
01747      *
01748      * @return  If zero is returned, multiple volume don't specified.
01749      *            If nonezero is returned, multiple volume specified.
01750      */
01751     long getMultiVolume() const;
01752 
01753     /**
01754      * Specifies multiple volume of PDF output.
01755      * @since 3.2
01756      *
01757      * @param   newVal  Specifies zero or nonzero.
01758      */
01759     void setMultiVolume(long newVal);
01760 
01761     /**
01762      * Gets the number of all the separate volumes when outputting PDF to multiple separate volumes.
01763      * @since 3.2
01764      *
01765      * @return  Returns total volume count.
01766      */
01767     long getTotalVolumeCount() const;
01768 
01769     /**
01770      * Gets the number of the actual separate volumes when outputting PDF to multiple separate volumes.
01771      * @since 3.2
01772      *
01773      * @return  Returns output volume count.
01774      */
01775     long getOutputVolumeCount() const;
01776 
01777     /**
01778      * Get the error level to abort formatting process.
01779      *
01780      * @return  Returns the error level.
01781      */
01782     XfoIfErrorLevel getExitLevel() const;
01783 
01784     /**
01785      * Error level to abort formatting process. XSL Formatter will stop formatting when the detected
01786      * error level is equal to ExitLevel property or higher. The default value is 2 (Warning).
01787      * Thus if an error occurred and error level is 2 (Warning) or higher, formatting process will be
01788      * aborted. Please use the value from 1 to 4. When the value of 5 or more specified, it is considered
01789      * to be the value of 4. If a error-level:4 (fatal error) occurs, the formatting process will be
01790      * aborted unconditionally.
01791      * BTW : An error is not displayed no matter what value may be specified to be this property.
01792      *
01793      * <table border="0" cellspacing="0" cellpadding="0">
01794      *  <tr><td>ELVL_INFORMATION    </td><td>= 1 Information</td></tr>
01795      *  <tr><td>ELVL_WARNING        </td><td>= 2 Warning</td></tr>
01796      *  <tr><td>ELVL_RECOVERABLE    </td><td>= 3 Recoveable Error</td></tr>
01797      *  <tr><td>ELVL_FATAL          </td><td>= 4 Fatal Error</td></tr>
01798      * </table>
01799      *
01800      * @param   newVal  error level to abort formatting process.
01801      */
01802     void setExitLevel(XfoIfErrorLevel newVal);
01803 
01804     /**
01805      * Returns the error level of the error that occurred during the formatting process.
01806      *
01807      * <table border="0" cellspacing="0" cellpadding="0">
01808      *  <tr><td>ELVL_INFORMATION    </td><td>= 1 Information</td></tr>
01809      *  <tr><td>ELVL_WARNING        </td><td>= 2 Warning</td></tr>
01810      *  <tr><td>ELVL_RECOVERABLE    </td><td>= 3 Recoveable Error</td></tr>
01811      *  <tr><td>ELVL_FATAL          </td><td>= 4 Fatal Error</td></tr>
01812      * </table>
01813      *
01814      * @return  Returns the error level.
01815      */
01816     XfoIfErrorLevel getErrorLevel() const;
01817 
01818     /**
01819      * Returns the error code of the error that occurred during the formatting process.
01820      * Zero means no error. Non-zero indicates any error occurred.
01821      *
01822      * @return  Returns the error code.
01823      */
01824     XfoIfErrorCode getErrorCode() const;
01825 
01826     /**
01827      * Returns the error message of the error that occurred during the formatting process.
01828      *
01829      * @param   pVal        Pointer to the buffer that will receive the text. If the string is as long or longer than the buffer, the string is truncated and terminated with a NULL character.
01830      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
01831      * @return  Returns the 'pVal'.
01832      */
01833     char*    getErrorMessage(char* pVal, int size) const;
01834     /**
01835      * Returns the error message of the error that occurred during the formatting process.
01836      *
01837      * @param   pVal        Pointer to the buffer that will receive the text. If the string is as long or longer than the buffer, the string is truncated and terminated with a NULL character.
01838      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
01839      * @return  Returns the 'pVal'.
01840      */
01841     wchar_t* getErrorMessageW(wchar_t* pVal, int size) const;
01842 
01843     /**
01844      * Sets the substitution of font name. This substitution acts on the font names existing in FO.
01845      * The font name 'fontName' is replaced to 'aliasName'.
01846      *
01847      * @param   src     Specifies the font name which is replaced.
01848      * @param   dst     Specifies the aliasName.
01849      */
01850     void setFontAlias(const char* src, const char* dst);
01851     /**
01852      * Sets the substitution of font name. This substitution acts on the font names existing in FO.
01853      * The font name 'fontName' is replaced to 'aliasName'.
01854      *
01855      * @param   src     Specifies the font name which is replaced.
01856      * @param   dst     Specifies the aliasName.
01857      */
01858     void setFontAliasW(const wchar_t* src, const wchar_t* dst);
01859 
01860     /**
01861      * Clear all substitutions of font name.
01862      *
01863      */
01864     void clearFontAlias();
01865 
01866     /**
01867      * Erase the substitution of font name 'fontName'.
01868      *
01869      * @param   src Specifies the font name which is replaced.
01870      */
01871     void eraseFontAlias(const char* src);
01872     /**
01873      * Erase the substitution of font name 'fontName'.
01874      *
01875      * @param   src Specifies the font name which is replaced.
01876      */
01877     void eraseFontAliasW(const wchar_t* src);
01878 
01879     /**
01880      * Execute formatting and output to a PDF specified in OutputFilePath or printer specified in PrinterName.
01881      *
01882      * @return  Returns the error code. Zero means no error. Non-zero indicates any error occurred.
01883      */
01884     XfoIfErrorCode execute(bool bNoThrow=false);
01885 
01886     /**
01887      * Execute formatting and output to a PDF specified in OutputFilePath or printer specified in PrinterName.
01888      * @since 3.3
01889      *
01890      * @param   src
01891      * @param   out
01892      */
01893     void render(std::istream& src, std::ostream& out);
01894     /**
01895      * Initialize formatting engine.
01896      *
01897      */
01898     void clear();
01899 
01900     /**
01901      * Set parameter name and value for xsl:param.
01902      *
01903      * @param   paramName name.
01904      * @param   value   parameter value.
01905      */
01906     void setXSLTParam(const char* paramName, const char* value);
01907     /**
01908      * Set parameter name and value for xsl:param.
01909      *
01910      * @param   paramName name.
01911      * @param   value   parameter value.
01912      */
01913     void setXSLTParamW(const wchar_t* paramName, const wchar_t* value);
01914 
01915     /**
01916      * Clear all parameter name and value for xsl:param.
01917      *
01918      */
01919     void clearXSLTParam();
01920 
01921     /**
01922      * Register the MessageListener interface to the instance of implemented class
01923      * The error that occurred during the formatting process can be received as the event.
01924      *
01925      * @param   listener Pointer of the MessageListener instance.
01926      */
01927     void setMessageListener(MessageListener* listener);
01928 
01929     /**
01930      * Register the FormatPageListener interface to the instance of implemented class
01931      * The page number that formatted during the formatting process can be received as the event.
01932      *
01933      * @param   listener Pointer of the FormatPageListener instance.
01934      */
01935     void setFormatPageListener(FormatPageListener* listener);
01936 
01937     /**
01938      * Get the error output type.
01939      *
01940      * @return  Error output type.
01941      */
01942     XfoErrorStreamType getErrorStreamType() const;
01943 
01944     /**
01945      * Set the error output type.
01946      *
01947      * @param   type        Error output type.
01948      *  <table border="0" cellspacing="0" cellpadding="0">
01949      *  <tr><td>OST_NONE    </td><td>: No error output</td></tr>
01950      *  <tr><td>OST_STDOUT  </td><td>: Error output to stdout</td></tr>
01951      *  <tr><td>OST_STDERR  </td><td>: Error output to stderr</td></tr>
01952      *  </table>
01953      */
01954     void setErrorStreamType(XfoErrorStreamType type);
01955 
01956     /**
01957      * Get the printer name where the formatted result is outputted.
01958      *
01959      * @param   pVal        Pointer to the buffer that will receive the text. If the string is as long or longer than the buffer,
01960      *            the string is truncated and terminated with a NULL character.
01961      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
01962      * @return  Returns the 'pVal'.
01963      */
01964     char*    getPrinterName(char* pVal, int size) const;
01965     /**
01966      * Get the printer name where the formatted result is outputted.
01967      *
01968      * @param   pVal        Pointer to the buffer that will receive the text. If the string is as long or longer than the buffer,
01969      *            the string is truncated and terminated with a NULL character.
01970      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
01971      * @return  Returns the 'pVal'.
01972      */
01973     wchar_t* getPrinterNameW(wchar_t* pVal, int size) const;
01974 
01975     /**
01976      * Specifies the printer name where the formatted result is outputted. If it is omitted, "\@PDF" is
01977      * automatically specified. When "\@STDPRN" is specified, standard printer is used.
01978      * If  "\@PDF" is specified as the printer name, the formatted result is not outputted to a printer
01979      * but rather to PDF.
01980      *
01981      * @param   newVal  Pointer to a null-terminated string to be used as the printer name.
01982      */
01983     void setPrinterName(const char* newVal);
01984     /**
01985      * Specifies the printer name where the formatted result is outputted. If it is omitted, "\@PDF" is
01986      * automatically specified. When "\@STDPRN" is specified, standard printer is used.
01987      * If  "\@PDF" is specified as the printer name, the formatted result is not outputted to a printer
01988      * but rather to PDF.
01989      *
01990      * @param   newVal  Pointer to a null-terminated string to be used as the printer name.
01991      */
01992     void setPrinterNameW(const wchar_t* newVal);
01993 
01994     /**
01995      * Get formatted total pages.
01996      * @since 3.2
01997      *
01998      * @return  the value of formatted total pages.
01999      */
02000     long getFormattedPages() const;
02001 
02002 #if defined(_DOXYGEN) || (defined(_MSC_VER) && defined(_WIN32))
02003 
02004     /**
02005      * Get the printer setting file URI.
02006      *
02007      * @param   pVal        Pointer to the buffer that will receive the text. If the string is as long or longer than the buffer,
02008      *            the string is truncated and terminated with a NULL character.
02009      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
02010      * @return  Returns the 'pVal'.
02011      */
02012     char*    getPrinterSettingURI(char* pVal, int size) const;
02013     /**
02014      * Get the printer setting file URI.
02015      *
02016      * @param   pVal        Pointer to the buffer that will receive the text. If the string is as long or longer than the buffer,
02017      *            the string is truncated and terminated with a NULL character.
02018      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
02019      * @return  Returns the 'pVal'.
02020      */
02021     wchar_t* getPrinterSettingURIW(wchar_t* pVal, int size) const;
02022 
02023     /**
02024      * Specifies the printer setting file URI.
02025      * This setting is effective only with Windows version.
02026      *
02027      * @param   newVal  Pointer to a null-terminated string to be used as the printer name.
02028      */
02029     void setPrinterSettingURI(const char* newVal);
02030     /**
02031      * Specifies the printer setting file URI.
02032      * This setting is effective only with Windows version.
02033      *
02034      * @param   newVal  Pointer to a null-terminated string to be used as the printer name.
02035      */
02036     void setPrinterSettingURIW(const wchar_t* newVal);
02037 
02038     /**
02039      * Get the number of copies. Effective when outputting to printer.
02040      *
02041      * @return  Returns the number of copies.
02042      */
02043     long getPrnCopies() const;
02044 
02045     /**
02046      * Specifies the number of copies. Effective when outputting to printer.
02047      * If nothing is specified, the value is considered as 1.
02048      * This setting is effective only with Windows version.
02049      *
02050      * @param   newVal  the number of copies.
02051      */
02052     void setPrnCopies(long newVal);
02053 
02054     /**
02055      * Get collation of multiple copies.
02056      *
02057      * @return  If zero is returned, the same page is multi-copied continuously.
02058      *            If nonezero is returned, the pages specified from start to end are printed repeatedly.
02059      */
02060     long getPrnCollate() const;
02061 
02062     /**
02063      * Specifies collation of multiple copies. Effective when outputting to printer and the number of
02064      * copies is plural. If it is not specified or the value zero is specified, the same page is
02065      * multi-copied continuously.
02066      * If nonezero is specified, the pages specified from start to end are printed repeatedly.
02067      * This setting is effective only with Windows version.
02068      *
02069      * @param   newVal  Zpecifies zero or nonzero.
02070      */
02071     void setPrnCollate(long newVal);
02072 
02073     /**
02074      * Get the setting of whether print dialog box is displayed or not when printing
02075      *
02076      * @return  If zero, the print dialog box is displayed. If nonezero, the print dialog box is not displayed.
02077      */
02078     long getBatchPrint() const;
02079 
02080     /**
02081      * When the value 'false' is specified, the print dialog box is displayed when printing.
02082      * If the setting is omitted or the value 'true' is specified, the print dialog is not displayed.
02083      * This setting is effective only with Windows version.
02084      *
02085      * @param   newVal  If zero, the print dialog box is displayed. If nonezero, the print dialog box is not displayed.
02086      */
02087     void setBatchPrint(long newVal);
02088 
02089     /**
02090      * Get the text of XML document you will format.
02091      * @since 3.1
02092      *
02093      * @param   pVal        Pointer to the buffer that will receive the text. If the string is as long or longer than the buffer,
02094      *            the string is truncated and terminated with a NULL character.
02095      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
02096      * @return  Returns the 'pVal'.
02097      */
02098     char*    getDocumentText(char* pVal, int size) const;
02099 
02100     /**
02101      * Get the text of XML document you will format.
02102      * @since 3.1
02103      *
02104      * @param   pVal        Pointer to the buffer that will receive the text. If the string is as long or longer than the buffer,
02105      *            the string is truncated and terminated with a NULL character.
02106      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
02107      * @return  Returns the 'pVal'.
02108      */
02109     wchar_t* getDocumentTextW(wchar_t* pVal, int size) const;
02110 
02111     /**
02112      * Specifies the XML document you will format.
02113      * MSXML3/MSXML4 is required when formatting.
02114      * This setting is effective only with Windows version.
02115      * @since 3.1
02116      *
02117      * @param   newVal  Pointer to a null-terminated string to be used as the text of XML document.
02118      */
02119     void setDocumentText(const char* newVal);
02120 
02121     /**
02122      * Specifies the XML document you will format.
02123      * MSXML3/MSXML4 is required when formatting.
02124      * This setting is effective only with Windows version.
02125      * @since 3.1
02126      *
02127      * @param   newVal  Pointer to a null-terminated string to be used as the text of XML document.
02128      */
02129     void setDocumentTextW(const wchar_t* newVal);
02130 
02131     /**
02132      * Get the text of XSL stylesheet for formatting.
02133      * @since 3.1
02134      *
02135      * @param   pVal        Pointer to the buffer that will receive the text. If the string is as long or longer than the buffer,
02136      *            the string is truncated and terminated with a NULL character.
02137      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
02138      * @return  Returns the 'pVal'.
02139      */
02140     char*    getStylesheetText(char* pVal, int size) const;
02141 
02142     /**
02143      * Get the text of XSL stylesheet for formatting.
02144      * @since 3.1
02145      *
02146      * @param   pVal        Pointer to the buffer that will receive the text. If the string is as long or longer than the buffer,
02147      *            the string is truncated and terminated with a NULL character.
02148      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
02149      * @return  Returns the 'pVal'.
02150      */
02151     wchar_t* getStylesheetTextW(wchar_t* pVal, int size) const;
02152 
02153     /**
02154      * Specifies the text of XSL stylesheet for formatting.
02155      * If the specified XML document is FO, or the XML file contains the processing instruction
02156      * &lt;?xml-stylesheet ...?&gt; and the XSL stylesheet is specified, this setting is ignored.
02157      * Otherwise if there is no setting of this property, an error occurs.
02158      * MSXML3/MSXML4 is required when formatting.
02159      * This setting is effective only with Windows version.
02160      * @since 3.1
02161      *
02162      * @param   newVal  Pointer to a null-terminated string to be used as the text of XSL stylesheet.
02163      */
02164     void setStylesheetText(const char* newVal);
02165 
02166     /**
02167      * Specifies the text of XSL stylesheet for formatting.
02168      * If the specified XML document is FO, or the XML file contains the processing instruction
02169      * &lt;?xml-stylesheet ...?&gt; and the XSL stylesheet is specified, this setting is ignored.
02170      * Otherwise if there is no setting of this property, an error occurs.
02171      * MSXML3/MSXML4 is required when formatting.
02172      * This setting is effective only with Windows version.
02173      * @since 3.1
02174      *
02175      * @param   newVal  Pointer to a null-terminated string to be used as the text of XSL stylesheet.
02176      */
02177     void setStylesheetTextW(const wchar_t* newVal);
02178 
02179 #endif  /* WIN32 */
02180 
02181 };
02182 
02183 
02184 /***************************************************************
02185  * Exception class that returns the error information in the formatting process.
02186  */
02187 class XFOINTERFACE_API XfoException
02188 {
02189 public:
02190     /**
02191      * Constructor
02192      */
02193     XfoException(XfoIfErrorLevel errorLevel, XfoIfErrorCode errorCode, const wchar_t* errorMessage);
02194 
02195     /**
02196      * Copy constructor
02197      */
02198     XfoException(const XfoException &e);
02199 
02200     /**
02201      * Destructor
02202      */
02203     ~XfoException();
02204 
02205 private:
02206     XfoIfErrorLevel m_errorLevel;           /* Error level */
02207     XfoIfErrorCode  m_errorCode;            /* Error code */
02208     wchar_t*        m_errorMessage;         /* Error message */
02209 
02210 public:
02211     /**
02212      * Get the error level.
02213      *
02214      * @return  Returns the error level.
02215      */
02216     XfoIfErrorLevel getErrorLevel() const;
02217 
02218     /**
02219      * Get the error code.
02220      *
02221      * @return  Returns the error code.
02222      */
02223     XfoIfErrorCode getErrorCode() const;
02224 
02225     /**
02226      * Get the error message.
02227      *
02228      * @param   pVal        Pointer to the buffer that will receive the text. If the string is as long or longer than the buffer,
02229      *            the string is truncated and terminated with a NULL character.
02230      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
02231      * @return  Returns the 'pVal'.
02232      */
02233     char*    getErrorMessage(char* pVal, int size) const;
02234 
02235     /**
02236      * Get the error message.
02237      *
02238      * @param   pVal        Pointer to the buffer that will receive the text. If the string is as long or longer than the buffer,
02239      *            the string is truncated and terminated with a NULL character.
02240      * @param   size        Specifies the number of the 'pVal' buffer, including the NULL character. If the text exceeds this limit, it is truncated.
02241      * @return  Returns the 'pVal'.
02242      */
02243     wchar_t* getErrorMessageW(wchar_t* pVal, int size) const;
02244 
02245 };
02246 
02247 }
02248 
02249 #endif  /* XFOIFC_H__ */

Generated on 21 Nov 2005 for XSLFormatter V3.3 C++/C Interface by Doxygen 1.3-rc2