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 * <?xml-stylesheet ...?> 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 * <?xml-stylesheet ...?> 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 * <?xml-stylesheet ...?> 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 * <?xml-stylesheet ...?> 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__ */