@@ -186,6 +186,17 @@ ZEND_BEGIN_ARG_INFO_EX(xls_set_row_arginfo, 0, 0, 3)
186186 ZEND_ARG_INFO (0 , height )
187187ZEND_END_ARG_INFO ()
188188
189+ ZEND_BEGIN_ARG_INFO_EX (xls_set_paper_arginfo , 0 , 0 , 1 )
190+ ZEND_ARG_INFO (0 , paper )
191+ ZEND_END_ARG_INFO ()
192+
193+ ZEND_BEGIN_ARG_INFO_EX (xls_set_margins_arginfo , 0 , 0 , 4 )
194+ ZEND_ARG_INFO (0 , left )
195+ ZEND_ARG_INFO (0 , right )
196+ ZEND_ARG_INFO (0 , top )
197+ ZEND_ARG_INFO (0 , bottom )
198+ ZEND_END_ARG_INFO ()
199+
189200ZEND_BEGIN_ARG_INFO_EX (xls_set_global_format , 0 , 0 , 1 )
190201 ZEND_ARG_INFO (0 , format_handle )
191202ZEND_END_ARG_INFO ()
@@ -972,6 +983,47 @@ PHP_METHOD(vtiful_xls, setRow)
972983}
973984/* }}} */
974985
986+ /** {{{ \Vtiful\Kernel\Excel::setPaper(int $paper)
987+ */
988+ PHP_METHOD (vtiful_xls , setPaper )
989+ {
990+ zend_long type = 0 ;
991+
992+ ZEND_PARSE_PARAMETERS_START (1 , 1 )
993+ Z_PARAM_LONG (type )
994+ ZEND_PARSE_PARAMETERS_END ();
995+
996+ ZVAL_COPY (return_value , getThis ());
997+
998+ xls_object * obj = Z_XLS_P (getThis ());
999+
1000+ paper (& obj -> write_ptr , type );
1001+ }
1002+ /* }}} */
1003+
1004+ /** {{{ \Vtiful\Kernel\Excel::setMargins(double|null $left, double|null $right, double|null $top, double|null $bottom)
1005+ */
1006+ PHP_METHOD (vtiful_xls , setMargins )
1007+ {
1008+ double left = 0.7 , right = 0.7 , top = 0.75 , bottom = 0.75 ;
1009+
1010+ ZEND_PARSE_PARAMETERS_START (0 , 4 )
1011+ Z_PARAM_OPTIONAL
1012+ Z_PARAM_DOUBLE_OR_NULL (left , _dummy )
1013+ Z_PARAM_DOUBLE_OR_NULL (right , _dummy )
1014+ Z_PARAM_DOUBLE_OR_NULL (top , _dummy )
1015+ Z_PARAM_DOUBLE_OR_NULL (bottom , _dummy )
1016+ ZEND_PARSE_PARAMETERS_END ();
1017+
1018+ ZVAL_COPY (return_value , getThis ());
1019+
1020+ xls_object * obj = Z_XLS_P (getThis ());
1021+
1022+ // units: inches to cm
1023+ margins (& obj -> write_ptr , left / 2.54 , right / 2.54 , top / 2.54 , bottom / 2.54 );
1024+ }
1025+ /* }}} */
1026+
9751027/** {{{ \Vtiful\Kernel\Excel::defaultFormat(resource $format)
9761028 */
9771029PHP_METHOD (vtiful_xls , defaultFormat )
@@ -1149,10 +1201,9 @@ PHP_METHOD(vtiful_xls, protection)
11491201}
11501202/* }}} */
11511203
1152-
1153- /** {{{ \Vtiful\Kernel\Excel::setPrintedPortrait()
1204+ /** {{{ \Vtiful\Kernel\Excel::setPortrait()
11541205 */
1155- PHP_METHOD (vtiful_xls , setPrintedPortrait )
1206+ PHP_METHOD (vtiful_xls , setPortrait )
11561207{
11571208 ZVAL_COPY (return_value , getThis ());
11581209
@@ -1165,9 +1216,9 @@ PHP_METHOD(vtiful_xls, setPrintedPortrait)
11651216/* }}} */
11661217
11671218
1168- /** {{{ \Vtiful\Kernel\Excel::setPrintedLandscape ()
1219+ /** {{{ \Vtiful\Kernel\Excel::setLandscape ()
11691220 */
1170- PHP_METHOD (vtiful_xls , setPrintedLandscape )
1221+ PHP_METHOD (vtiful_xls , setLandscape )
11711222{
11721223 ZVAL_COPY (return_value , getThis ());
11731224
@@ -1561,8 +1612,10 @@ zend_function_entry xls_methods[] = {
15611612 PHP_ME (vtiful_xls , zoom , xls_sheet_zoom_arginfo , ZEND_ACC_PUBLIC )
15621613 PHP_ME (vtiful_xls , gridline , xls_sheet_gridline_arginfo , ZEND_ACC_PUBLIC )
15631614
1564- PHP_ME (vtiful_xls , setPrintedPortrait , xls_set_printed_portrait_arginfo , ZEND_ACC_PUBLIC )
1565- PHP_ME (vtiful_xls , setPrintedLandscape , xls_set_printed_landscape_arginfo , ZEND_ACC_PUBLIC )
1615+ PHP_ME (vtiful_xls , setPaper , xls_set_paper_arginfo , ZEND_ACC_PUBLIC )
1616+ PHP_ME (vtiful_xls , setMargins , xls_set_margins_arginfo , ZEND_ACC_PUBLIC )
1617+ PHP_ME (vtiful_xls , setPortrait , xls_set_printed_portrait_arginfo , ZEND_ACC_PUBLIC )
1618+ PHP_ME (vtiful_xls , setLandscape , xls_set_printed_landscape_arginfo , ZEND_ACC_PUBLIC )
15661619
15671620 PHP_ME (vtiful_xls , setCurrentSheetHide , xls_hide_sheet_arginfo , ZEND_ACC_PUBLIC )
15681621 PHP_ME (vtiful_xls , setCurrentSheetIsFirst , xls_first_sheet_arginfo , ZEND_ACC_PUBLIC )
@@ -1619,6 +1672,47 @@ VTIFUL_STARTUP_FUNCTION(excel) {
16191672 REGISTER_CLASS_CONST_LONG (vtiful_xls_ce , "GRIDLINES_SHOW_PRINT" , LXW_SHOW_PRINT_GRIDLINES )
16201673 REGISTER_CLASS_CONST_LONG (vtiful_xls_ce , "GRIDLINES_SHOW_SCREEN" , LXW_SHOW_SCREEN_GRIDLINES )
16211674
1675+ REGISTER_CLASS_CONST_LONG (vtiful_xls_ce , "PAPER_DEFAULT" , 0 )
1676+ REGISTER_CLASS_CONST_LONG (vtiful_xls_ce , "PAPER_LETTER" , 1 )
1677+ REGISTER_CLASS_CONST_LONG (vtiful_xls_ce , "PAPER_LETTER_SMALL" , 2 )
1678+ REGISTER_CLASS_CONST_LONG (vtiful_xls_ce , "PAPER_TABLOID" , 3 )
1679+ REGISTER_CLASS_CONST_LONG (vtiful_xls_ce , "PAPER_LEDGER" , 4 )
1680+ REGISTER_CLASS_CONST_LONG (vtiful_xls_ce , "PAPER_LEGAL" , 5 )
1681+ REGISTER_CLASS_CONST_LONG (vtiful_xls_ce , "PAPER_STATEMENT" , 6 )
1682+ REGISTER_CLASS_CONST_LONG (vtiful_xls_ce , "PAPER_EXECUTIVE" , 7 )
1683+ REGISTER_CLASS_CONST_LONG (vtiful_xls_ce , "PAPER_A3" , 8 )
1684+ REGISTER_CLASS_CONST_LONG (vtiful_xls_ce , "PAPER_A4" , 9 )
1685+ REGISTER_CLASS_CONST_LONG (vtiful_xls_ce , "PAPER_A4_SMALL" , 10 )
1686+ REGISTER_CLASS_CONST_LONG (vtiful_xls_ce , "PAPER_A5" , 11 )
1687+ REGISTER_CLASS_CONST_LONG (vtiful_xls_ce , "PAPER_B4" , 12 )
1688+ REGISTER_CLASS_CONST_LONG (vtiful_xls_ce , "PAPER_B5" , 13 )
1689+ REGISTER_CLASS_CONST_LONG (vtiful_xls_ce , "PAPER_FOLIO" , 14 )
1690+ REGISTER_CLASS_CONST_LONG (vtiful_xls_ce , "PAPER_QUARTO" , 15 )
1691+ REGISTER_CLASS_CONST_LONG (vtiful_xls_ce , "PAPER_NOTE" , 18 )
1692+ REGISTER_CLASS_CONST_LONG (vtiful_xls_ce , "PAPER_ENVELOPE_9" , 19 )
1693+ REGISTER_CLASS_CONST_LONG (vtiful_xls_ce , "PAPER_ENVELOPE_10" , 20 )
1694+ REGISTER_CLASS_CONST_LONG (vtiful_xls_ce , "PAPER_ENVELOPE_11" , 21 )
1695+ REGISTER_CLASS_CONST_LONG (vtiful_xls_ce , "PAPER_ENVELOPE_12" , 22 )
1696+ REGISTER_CLASS_CONST_LONG (vtiful_xls_ce , "PAPER_ENVELOPE_14" , 23 )
1697+ REGISTER_CLASS_CONST_LONG (vtiful_xls_ce , "PAPER_C_SIZE_SHEET" , 24 )
1698+ REGISTER_CLASS_CONST_LONG (vtiful_xls_ce , "PAPER_D_SIZE_SHEET" , 25 )
1699+ REGISTER_CLASS_CONST_LONG (vtiful_xls_ce , "PAPER_E_SIZE_SHEET" , 26 )
1700+ REGISTER_CLASS_CONST_LONG (vtiful_xls_ce , "PAPER_ENVELOPE_DL" , 27 )
1701+ REGISTER_CLASS_CONST_LONG (vtiful_xls_ce , "PAPER_ENVELOPE_C3" , 28 )
1702+ REGISTER_CLASS_CONST_LONG (vtiful_xls_ce , "PAPER_ENVELOPE_C4" , 29 )
1703+ REGISTER_CLASS_CONST_LONG (vtiful_xls_ce , "PAPER_ENVELOPE_C5" , 30 )
1704+ REGISTER_CLASS_CONST_LONG (vtiful_xls_ce , "PAPER_ENVELOPE_C6" , 31 )
1705+ REGISTER_CLASS_CONST_LONG (vtiful_xls_ce , "PAPER_ENVELOPE_C65" , 32 )
1706+ REGISTER_CLASS_CONST_LONG (vtiful_xls_ce , "PAPER_ENVELOPE_B4" , 33 )
1707+ REGISTER_CLASS_CONST_LONG (vtiful_xls_ce , "PAPER_ENVELOPE_B5" , 34 )
1708+ REGISTER_CLASS_CONST_LONG (vtiful_xls_ce , "PAPER_ENVELOPE_B6" , 35 )
1709+ REGISTER_CLASS_CONST_LONG (vtiful_xls_ce , "PAPER_ENVELOPE_1" , 36 )
1710+ REGISTER_CLASS_CONST_LONG (vtiful_xls_ce , "PAPER_MONARCH" , 37 )
1711+ REGISTER_CLASS_CONST_LONG (vtiful_xls_ce , "PAPER_ENVELOPE_2" , 38 )
1712+ REGISTER_CLASS_CONST_LONG (vtiful_xls_ce , "PAPER_FANFOLD" , 39 )
1713+ REGISTER_CLASS_CONST_LONG (vtiful_xls_ce , "PAPER_GERMAN_STD_FANFOLD" , 40 )
1714+ REGISTER_CLASS_CONST_LONG (vtiful_xls_ce , "PAPER_GERMAN_LEGAL_FANFOLD" , 41 )
1715+
16221716 REGISTER_CLASS_CONST_LONG (vtiful_xls_ce , V_XLS_CONST_READ_TYPE_INT , READ_TYPE_INT );
16231717 REGISTER_CLASS_CONST_LONG (vtiful_xls_ce , V_XLS_CONST_READ_TYPE_DOUBLE , READ_TYPE_DOUBLE );
16241718 REGISTER_CLASS_CONST_LONG (vtiful_xls_ce , V_XLS_CONST_READ_TYPE_STRING , READ_TYPE_STRING );
0 commit comments