Use same code style as PhpSpreadsheet
This commit is contained in:
parent
25c56a3e2d
commit
2bc75771cc
|
|
@ -0,0 +1,228 @@
|
|||
<?php
|
||||
|
||||
$finder = PhpCsFixer\Finder::create()
|
||||
->notName('pclzip.lib.php')
|
||||
->notName('OLERead.php')
|
||||
->in('samples')
|
||||
->in('src')
|
||||
->in('tests');
|
||||
|
||||
$config = new PhpCsFixer\Config();
|
||||
$config
|
||||
->setRiskyAllowed(true)
|
||||
->setFinder($finder)
|
||||
->setCacheFile(sys_get_temp_dir() . '/php-cs-fixer' . preg_replace('~\W~', '-', __DIR__))
|
||||
->setRules([
|
||||
'align_multiline_comment' => true,
|
||||
'array_indentation' => true,
|
||||
'array_syntax' => ['syntax' => 'short'],
|
||||
'backtick_to_shell_exec' => true,
|
||||
'binary_operator_spaces' => true,
|
||||
'blank_line_after_namespace' => true,
|
||||
'blank_line_after_opening_tag' => true,
|
||||
'blank_line_before_statement' => true,
|
||||
'braces' => true,
|
||||
'cast_spaces' => true,
|
||||
'class_attributes_separation' => ['elements' => ['method' => 'one', 'property' => 'one']], // const are often grouped with other related const
|
||||
'class_definition' => false,
|
||||
'class_keyword_remove' => false, // ::class keyword gives us better support in IDE
|
||||
'combine_consecutive_issets' => true,
|
||||
'combine_consecutive_unsets' => true,
|
||||
'combine_nested_dirname' => true,
|
||||
'comment_to_phpdoc' => false, // interferes with annotations
|
||||
'compact_nullable_typehint' => true,
|
||||
'concat_space' => ['spacing' => 'one'],
|
||||
'constant_case' => true,
|
||||
'date_time_immutable' => false, // Break our unit tests
|
||||
'declare_equal_normalize' => true,
|
||||
'declare_strict_types' => false, // Too early to adopt strict types
|
||||
'dir_constant' => true,
|
||||
'doctrine_annotation_array_assignment' => true,
|
||||
'doctrine_annotation_braces' => true,
|
||||
'doctrine_annotation_indentation' => true,
|
||||
'doctrine_annotation_spaces' => true,
|
||||
'elseif' => true,
|
||||
'encoding' => true,
|
||||
'ereg_to_preg' => true,
|
||||
'escape_implicit_backslashes' => true,
|
||||
'explicit_indirect_variable' => false, // I feel it makes the code actually harder to read
|
||||
'explicit_string_variable' => false, // I feel it makes the code actually harder to read
|
||||
'final_class' => false, // We need non-final classes
|
||||
'final_internal_class' => true,
|
||||
'final_public_method_for_abstract_class' => false, // We need non-final methods
|
||||
'fopen_flag_order' => true,
|
||||
'fopen_flags' => true,
|
||||
'full_opening_tag' => true,
|
||||
'fully_qualified_strict_types' => true,
|
||||
'function_declaration' => true,
|
||||
'function_to_constant' => true,
|
||||
'function_typehint_space' => true,
|
||||
'general_phpdoc_annotation_remove' => ['annotations' => ['access', 'category', 'copyright', 'throws']],
|
||||
'global_namespace_import' => true,
|
||||
'header_comment' => false, // We don't use common header in all our files
|
||||
'heredoc_indentation' => false, // Requires PHP >= 7.3
|
||||
'heredoc_to_nowdoc' => false, // Not sure about this one
|
||||
'implode_call' => true,
|
||||
'include' => true,
|
||||
'increment_style' => true,
|
||||
'indentation_type' => true,
|
||||
'is_null' => true,
|
||||
'line_ending' => true,
|
||||
'linebreak_after_opening_tag' => true,
|
||||
'list_syntax' => ['syntax' => 'short'],
|
||||
'logical_operators' => true,
|
||||
'lowercase_cast' => true,
|
||||
'lowercase_keywords' => true,
|
||||
'lowercase_static_reference' => true,
|
||||
'magic_constant_casing' => true,
|
||||
'magic_method_casing' => true,
|
||||
'mb_str_functions' => false, // No, too dangerous to change that
|
||||
'method_argument_space' => true,
|
||||
'method_chaining_indentation' => true,
|
||||
'modernize_types_casting' => true,
|
||||
'multiline_comment_opening_closing' => true,
|
||||
'multiline_whitespace_before_semicolons' => true,
|
||||
'native_constant_invocation' => false, // Micro optimization that look messy
|
||||
'native_function_casing' => true,
|
||||
'native_function_invocation' => false, // I suppose this would be best, but I am still unconvinced about the visual aspect of it
|
||||
'native_function_type_declaration_casing' => true,
|
||||
'new_with_braces' => true,
|
||||
'no_alias_functions' => true,
|
||||
'no_alternative_syntax' => true,
|
||||
'no_binary_string' => true,
|
||||
'no_blank_lines_after_class_opening' => true,
|
||||
'no_blank_lines_after_phpdoc' => true,
|
||||
'no_blank_lines_before_namespace' => false, // we want 1 blank line before namespace
|
||||
'no_break_comment' => true,
|
||||
'no_closing_tag' => true,
|
||||
'no_empty_comment' => true,
|
||||
'no_empty_phpdoc' => true,
|
||||
'no_empty_statement' => true,
|
||||
'no_extra_blank_lines' => true,
|
||||
'no_homoglyph_names' => true,
|
||||
'no_leading_import_slash' => true,
|
||||
'no_leading_namespace_whitespace' => true,
|
||||
'no_mixed_echo_print' => true,
|
||||
'no_multiline_whitespace_around_double_arrow' => true,
|
||||
'no_null_property_initialization' => true,
|
||||
'no_php4_constructor' => true,
|
||||
'no_short_bool_cast' => true,
|
||||
'echo_tag_syntax' => ['format' => 'long'],
|
||||
'no_singleline_whitespace_before_semicolons' => true,
|
||||
'no_spaces_after_function_name' => true,
|
||||
'no_spaces_around_offset' => true,
|
||||
'no_spaces_inside_parenthesis' => true,
|
||||
'no_superfluous_elseif' => false, // Might be risky on a huge code base
|
||||
'no_superfluous_phpdoc_tags' => ['allow_mixed' => true],
|
||||
'no_trailing_comma_in_list_call' => true,
|
||||
'no_trailing_comma_in_singleline_array' => true,
|
||||
'no_trailing_whitespace' => true,
|
||||
'no_trailing_whitespace_in_comment' => true,
|
||||
'no_unneeded_control_parentheses' => true,
|
||||
'no_unneeded_curly_braces' => true,
|
||||
'no_unneeded_final_method' => true,
|
||||
'no_unreachable_default_argument_value' => true,
|
||||
'no_unset_cast' => true,
|
||||
'no_unset_on_property' => true,
|
||||
'no_unused_imports' => true,
|
||||
'no_useless_else' => true,
|
||||
'no_useless_return' => true,
|
||||
'no_whitespace_before_comma_in_array' => true,
|
||||
'no_whitespace_in_blank_line' => true,
|
||||
'non_printable_character' => true,
|
||||
'normalize_index_brace' => true,
|
||||
'not_operator_with_space' => false, // No we prefer to keep '!' without spaces
|
||||
'not_operator_with_successor_space' => false, // idem
|
||||
'nullable_type_declaration_for_default_null_value' => true,
|
||||
'object_operator_without_whitespace' => true,
|
||||
'ordered_class_elements' => false, // We prefer to keep some freedom
|
||||
'ordered_imports' => true,
|
||||
'ordered_interfaces' => true,
|
||||
'php_unit_construct' => true,
|
||||
'php_unit_dedicate_assert' => true,
|
||||
'php_unit_dedicate_assert_internal_type' => true,
|
||||
'php_unit_expectation' => true,
|
||||
'php_unit_fqcn_annotation' => true,
|
||||
'php_unit_internal_class' => false, // Because tests are excluded from package
|
||||
'php_unit_method_casing' => true,
|
||||
'php_unit_mock' => true,
|
||||
'php_unit_mock_short_will_return' => true,
|
||||
'php_unit_namespaced' => true,
|
||||
'php_unit_no_expectation_annotation' => true,
|
||||
'phpdoc_order_by_value' => ['annotations' => ['covers']],
|
||||
'php_unit_set_up_tear_down_visibility' => true,
|
||||
'php_unit_size_class' => false, // That seems extra work to maintain for little benefits
|
||||
'php_unit_strict' => false, // We sometime actually need assertEquals
|
||||
'php_unit_test_annotation' => true,
|
||||
'php_unit_test_case_static_method_calls' => ['call_type' => 'self'],
|
||||
'php_unit_test_class_requires_covers' => false, // We don't care as much as we should about coverage
|
||||
'phpdoc_add_missing_param_annotation' => false, // Don't add things that bring no value
|
||||
'phpdoc_align' => false, // Waste of time
|
||||
'phpdoc_annotation_without_dot' => true,
|
||||
'phpdoc_indent' => true,
|
||||
//'phpdoc_inline_tag' => true,
|
||||
'phpdoc_line_span' => false, // Unfortunately our old comments turn even uglier with this
|
||||
'phpdoc_no_access' => true,
|
||||
'phpdoc_no_alias_tag' => true,
|
||||
'phpdoc_no_empty_return' => true,
|
||||
'phpdoc_no_package' => true,
|
||||
'phpdoc_no_useless_inheritdoc' => true,
|
||||
'phpdoc_order' => true,
|
||||
'phpdoc_return_self_reference' => true,
|
||||
'phpdoc_scalar' => true,
|
||||
'phpdoc_separation' => true,
|
||||
'phpdoc_single_line_var_spacing' => true,
|
||||
'phpdoc_summary' => true,
|
||||
'phpdoc_to_comment' => false, // interferes with annotations
|
||||
'phpdoc_to_param_type' => false, // Because experimental, but interesting for one shot use
|
||||
'phpdoc_to_return_type' => false, // idem
|
||||
'phpdoc_trim' => true,
|
||||
'phpdoc_trim_consecutive_blank_line_separation' => true,
|
||||
'phpdoc_types' => true,
|
||||
'phpdoc_types_order' => true,
|
||||
'phpdoc_var_annotation_correct_order' => true,
|
||||
'phpdoc_var_without_name' => true,
|
||||
'pow_to_exponentiation' => true,
|
||||
'protected_to_private' => true,
|
||||
//'psr0' => true,
|
||||
//'psr4' => true,
|
||||
'random_api_migration' => true,
|
||||
'return_assignment' => false, // Sometimes useful for clarity or debug
|
||||
'return_type_declaration' => true,
|
||||
'self_accessor' => true,
|
||||
'self_static_accessor' => true,
|
||||
'semicolon_after_instruction' => false, // Buggy in `samples/index.php`
|
||||
'set_type_to_cast' => true,
|
||||
'short_scalar_cast' => true,
|
||||
'simple_to_complex_string_variable' => false, // Would differ from TypeScript without obvious advantages
|
||||
'simplified_null_return' => false, // Even if technically correct we prefer to be explicit
|
||||
'single_blank_line_at_eof' => true,
|
||||
'single_blank_line_before_namespace' => true,
|
||||
'single_class_element_per_statement' => true,
|
||||
'single_import_per_statement' => true,
|
||||
'single_line_after_imports' => true,
|
||||
'single_line_comment_style' => true,
|
||||
'single_line_throw' => false, // I don't see any reason for having a special case for Exception
|
||||
'single_quote' => true,
|
||||
'single_trait_insert_per_statement' => true,
|
||||
'space_after_semicolon' => true,
|
||||
'standardize_increment' => true,
|
||||
'standardize_not_equals' => true,
|
||||
'static_lambda' => false, // Risky if we can't guarantee nobody use `bindTo()`
|
||||
'strict_comparison' => false, // No, too dangerous to change that
|
||||
'strict_param' => false, // No, too dangerous to change that
|
||||
'string_line_ending' => true,
|
||||
'switch_case_semicolon_to_colon' => true,
|
||||
'switch_case_space' => true,
|
||||
'ternary_operator_spaces' => true,
|
||||
'ternary_to_null_coalescing' => true,
|
||||
'trailing_comma_in_multiline' => true,
|
||||
'trim_array_spaces' => true,
|
||||
'unary_operator_spaces' => true,
|
||||
'visibility_required' => ['elements' => ['property', 'method']], // not const
|
||||
'void_return' => true,
|
||||
'whitespace_after_comma_in_array' => true,
|
||||
'yoda_style' => false,
|
||||
]);
|
||||
|
||||
return $config;
|
||||
146
.php_cs.dist
146
.php_cs.dist
|
|
@ -1,146 +0,0 @@
|
|||
<?php
|
||||
|
||||
$finder = PhpCsFixer\Finder::create()
|
||||
->notName('pclzip.lib.php')
|
||||
->notName('OLERead.php')
|
||||
->in('samples')
|
||||
->in('src')
|
||||
->in('tests');
|
||||
|
||||
return PhpCsFixer\Config::create()
|
||||
->setRiskyAllowed(true)
|
||||
->setFinder($finder)
|
||||
->setRules(array(
|
||||
'array_syntax' => array('syntax' => 'long'),
|
||||
'binary_operator_spaces' => array('align_double_arrow' => true),
|
||||
'blank_line_after_namespace' => true,
|
||||
'blank_line_after_opening_tag' => false,
|
||||
'blank_line_before_return' => true,
|
||||
'braces' => true,
|
||||
'cast_spaces' => true,
|
||||
'class_definition' => true,
|
||||
'class_keyword_remove' => false, // ::class keyword gives us beter support in IDE
|
||||
'combine_consecutive_unsets' => true,
|
||||
'concat_space' => array('spacing' => 'one'),
|
||||
'declare_equal_normalize' => true,
|
||||
'declare_strict_types' => false, // Too early to adopt strict types
|
||||
'dir_constant' => true,
|
||||
'elseif' => true,
|
||||
'encoding' => true,
|
||||
'ereg_to_preg' => true,
|
||||
'full_opening_tag' => true,
|
||||
'function_declaration' => true,
|
||||
'function_typehint_space' => true,
|
||||
'general_phpdoc_annotation_remove' => false, // No use for that
|
||||
'hash_to_slash_comment' => true,
|
||||
'header_comment' => false, // We don't use common header in all our files
|
||||
'heredoc_to_nowdoc' => false, // Not sure about this one
|
||||
'is_null' => false, // Risky
|
||||
'include' => true,
|
||||
'indentation_type' => true,
|
||||
'line_ending' => true,
|
||||
'linebreak_after_opening_tag' => true,
|
||||
'lowercase_cast' => true,
|
||||
'lowercase_constants' => true,
|
||||
'lowercase_keywords' => true,
|
||||
'mb_str_functions' => false, // No, too dangerous to change that
|
||||
'method_argument_space' => true,
|
||||
'method_separation' => true,
|
||||
'modernize_types_casting' => true,
|
||||
'native_function_casing' => true,
|
||||
'native_function_invocation'=> false, // This is risky and seems to be micro-optimization that make code uglier so not worth it, at least for now
|
||||
'new_with_braces' => true,
|
||||
'no_alias_functions' => true,
|
||||
'no_blank_lines_after_class_opening' => true,
|
||||
'no_blank_lines_after_phpdoc' => true,
|
||||
'no_blank_lines_before_namespace' => false, // we want 1 blank line before namespace
|
||||
'no_closing_tag' => true,
|
||||
'no_empty_comment' => true,
|
||||
'no_empty_phpdoc' => true,
|
||||
'no_empty_statement' => true,
|
||||
'no_extra_consecutive_blank_lines' => array('break', 'continue', 'extra', 'return', 'throw', 'use', 'useTrait', 'curly_brace_block', 'parenthesis_brace_block', 'square_brace_block'),
|
||||
'no_leading_import_slash' => true,
|
||||
'no_leading_namespace_whitespace' => true,
|
||||
'no_mixed_echo_print' => true,
|
||||
'no_multiline_whitespace_around_double_arrow' => true,
|
||||
'no_multiline_whitespace_before_semicolons' => true,
|
||||
'no_php4_constructor' => true,
|
||||
'no_short_bool_cast' => true,
|
||||
'no_short_echo_tag' => true,
|
||||
'no_singleline_whitespace_before_semicolons' => true,
|
||||
'no_spaces_after_function_name' => true,
|
||||
'no_spaces_around_offset' => true,
|
||||
'no_spaces_inside_parenthesis' => true,
|
||||
'no_trailing_comma_in_list_call' => true,
|
||||
'no_trailing_comma_in_singleline_array' => true,
|
||||
'no_trailing_whitespace' => true,
|
||||
'no_trailing_whitespace_in_comment' => true,
|
||||
'no_unneeded_control_parentheses' => true,
|
||||
'no_unreachable_default_argument_value' => true,
|
||||
'no_unused_imports' => true,
|
||||
'no_useless_else' => true,
|
||||
'no_useless_return' => true,
|
||||
'no_whitespace_before_comma_in_array' => true,
|
||||
'no_whitespace_in_blank_line' => true,
|
||||
'normalize_index_brace' => true,
|
||||
'not_operator_with_space' => false, // No we prefer to keep '!' without spaces
|
||||
'not_operator_with_successor_space' => false, // idem
|
||||
'object_operator_without_whitespace' => true,
|
||||
'ordered_class_elements' => false, // We prefer to keep some freedom
|
||||
'ordered_imports' => true,
|
||||
'php_unit_construct' => true,
|
||||
'php_unit_dedicate_assert' => true,
|
||||
'php_unit_fqcn_annotation' => true,
|
||||
'php_unit_strict' => false, // We sometime actually need assertEquals
|
||||
'phpdoc_add_missing_param_annotation' => true,
|
||||
'phpdoc_align' => false, // Waste of time
|
||||
'phpdoc_annotation_without_dot' => true,
|
||||
'phpdoc_indent' => true,
|
||||
'phpdoc_inline_tag' => true,
|
||||
'phpdoc_no_access' => true,
|
||||
'phpdoc_no_alias_tag' => true,
|
||||
'phpdoc_no_empty_return' => true,
|
||||
'phpdoc_no_package' => true,
|
||||
'phpdoc_no_useless_inheritdoc' => true,
|
||||
'phpdoc_order' => true,
|
||||
'phpdoc_return_self_reference' => true,
|
||||
'phpdoc_scalar' => true,
|
||||
'phpdoc_separation' => false,
|
||||
'phpdoc_single_line_var_spacing' => true,
|
||||
'phpdoc_summary' => false,
|
||||
'phpdoc_to_comment' => true,
|
||||
'phpdoc_trim' => true,
|
||||
'phpdoc_types' => true,
|
||||
'phpdoc_var_without_name' => true,
|
||||
'pow_to_exponentiation' => false,
|
||||
'pre_increment' => false,
|
||||
'protected_to_private' => true,
|
||||
'psr0' => true,
|
||||
'psr4' => true,
|
||||
'random_api_migration' => false, // This breaks our unit tests
|
||||
'return_type_declaration' => true,
|
||||
'self_accessor' => true,
|
||||
'semicolon_after_instruction' => false, // Buggy in `samples/index.php`
|
||||
'short_scalar_cast' => true,
|
||||
'silenced_deprecation_error' => true,
|
||||
'simplified_null_return' => false, // While technically correct we prefer to be explicit when returning null
|
||||
'single_blank_line_at_eof' => true,
|
||||
'single_blank_line_before_namespace' => true,
|
||||
'single_class_element_per_statement' => true,
|
||||
'single_import_per_statement' => true,
|
||||
'single_line_after_imports' => true,
|
||||
'single_quote' => true,
|
||||
'space_after_semicolon' => true,
|
||||
'standardize_not_equals' => true,
|
||||
'strict_comparison' => false, // No, too dangerous to change that
|
||||
'strict_param' => false, // No, too dangerous to change that
|
||||
'switch_case_semicolon_to_colon' => true,
|
||||
'switch_case_space' => true,
|
||||
'ternary_operator_spaces' => true,
|
||||
'ternary_to_null_coalescing' => false, // Cannot use that with PHP 5.6
|
||||
'trailing_comma_in_multiline_array' => true,
|
||||
'trim_array_spaces' => false,
|
||||
'unary_operator_spaces' => true,
|
||||
'visibility_required' => true,
|
||||
'whitespace_after_comma_in_array' => true,
|
||||
));
|
||||
|
|
@ -1,4 +1,5 @@
|
|||
<?php
|
||||
|
||||
use PhpOffice\PhpWord\Style\Font;
|
||||
|
||||
include_once 'Sample_Header.php';
|
||||
|
|
@ -12,12 +13,12 @@ $phpWord = new \PhpOffice\PhpWord\PhpWord();
|
|||
$phpWord->getSettings()->setThemeFontLang($languageEnGb);
|
||||
|
||||
$fontStyleName = 'rStyle';
|
||||
$phpWord->addFontStyle($fontStyleName, array('bold' => true, 'italic' => true, 'size' => 16, 'allCaps' => true, 'doubleStrikethrough' => true));
|
||||
$phpWord->addFontStyle($fontStyleName, ['bold' => true, 'italic' => true, 'size' => 16, 'allCaps' => true, 'doubleStrikethrough' => true]);
|
||||
|
||||
$paragraphStyleName = 'pStyle';
|
||||
$phpWord->addParagraphStyle($paragraphStyleName, array('alignment' => \PhpOffice\PhpWord\SimpleType\Jc::CENTER, 'spaceAfter' => 100));
|
||||
$phpWord->addParagraphStyle($paragraphStyleName, ['alignment' => \PhpOffice\PhpWord\SimpleType\Jc::CENTER, 'spaceAfter' => 100]);
|
||||
|
||||
$phpWord->addTitleStyle(1, array('bold' => true), array('spaceAfter' => 240));
|
||||
$phpWord->addTitleStyle(1, ['bold' => true], ['spaceAfter' => 240]);
|
||||
|
||||
// New portrait section
|
||||
$section = $phpWord->addSection();
|
||||
|
|
@ -28,7 +29,7 @@ $section->addText('Hello World!');
|
|||
|
||||
// $pStyle = new Font();
|
||||
// $pStyle->setLang()
|
||||
$section->addText('Ce texte-ci est en français.', array('lang' => \PhpOffice\PhpWord\Style\Language::FR_BE));
|
||||
$section->addText('Ce texte-ci est en français.', ['lang' => \PhpOffice\PhpWord\Style\Language::FR_BE]);
|
||||
|
||||
// Two text break
|
||||
$section->addTextBreak(2);
|
||||
|
|
@ -47,33 +48,33 @@ $fontStyle['size'] = 20;
|
|||
$textrun = $section->addTextRun();
|
||||
$textrun->addText('I am inline styled ', $fontStyle);
|
||||
$textrun->addText('with ');
|
||||
$textrun->addText('color', array('color' => '996699'));
|
||||
$textrun->addText('color', ['color' => '996699']);
|
||||
$textrun->addText(', ');
|
||||
$textrun->addText('bold', array('bold' => true));
|
||||
$textrun->addText('bold', ['bold' => true]);
|
||||
$textrun->addText(', ');
|
||||
$textrun->addText('italic', array('italic' => true));
|
||||
$textrun->addText('italic', ['italic' => true]);
|
||||
$textrun->addText(', ');
|
||||
$textrun->addText('underline', array('underline' => 'dash'));
|
||||
$textrun->addText('underline', ['underline' => 'dash']);
|
||||
$textrun->addText(', ');
|
||||
$textrun->addText('strikethrough', array('strikethrough' => true));
|
||||
$textrun->addText('strikethrough', ['strikethrough' => true]);
|
||||
$textrun->addText(', ');
|
||||
$textrun->addText('doubleStrikethrough', array('doubleStrikethrough' => true));
|
||||
$textrun->addText('doubleStrikethrough', ['doubleStrikethrough' => true]);
|
||||
$textrun->addText(', ');
|
||||
$textrun->addText('superScript', array('superScript' => true));
|
||||
$textrun->addText('superScript', ['superScript' => true]);
|
||||
$textrun->addText(', ');
|
||||
$textrun->addText('subScript', array('subScript' => true));
|
||||
$textrun->addText('subScript', ['subScript' => true]);
|
||||
$textrun->addText(', ');
|
||||
$textrun->addText('smallCaps', array('smallCaps' => true));
|
||||
$textrun->addText('smallCaps', ['smallCaps' => true]);
|
||||
$textrun->addText(', ');
|
||||
$textrun->addText('allCaps', array('allCaps' => true));
|
||||
$textrun->addText('allCaps', ['allCaps' => true]);
|
||||
$textrun->addText(', ');
|
||||
$textrun->addText('fgColor', array('fgColor' => 'yellow'));
|
||||
$textrun->addText('fgColor', ['fgColor' => 'yellow']);
|
||||
$textrun->addText(', ');
|
||||
$textrun->addText('scale', array('scale' => 200));
|
||||
$textrun->addText('scale', ['scale' => 200]);
|
||||
$textrun->addText(', ');
|
||||
$textrun->addText('spacing', array('spacing' => 120));
|
||||
$textrun->addText('spacing', ['spacing' => 120]);
|
||||
$textrun->addText(', ');
|
||||
$textrun->addText('kerning', array('kerning' => 10));
|
||||
$textrun->addText('kerning', ['kerning' => 10]);
|
||||
$textrun->addText('. ');
|
||||
|
||||
// Link
|
||||
|
|
@ -81,7 +82,7 @@ $section->addLink('https://github.com/PHPOffice/PHPWord', 'PHPWord on GitHub');
|
|||
$section->addTextBreak();
|
||||
|
||||
// Image
|
||||
$section->addImage('resources/_earth.jpg', array('width'=>18, 'height'=>18));
|
||||
$section->addImage('resources/_earth.jpg', ['width' => 18, 'height' => 18]);
|
||||
|
||||
// Save file
|
||||
echo write($phpWord, basename(__FILE__, '.php'), $writers);
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
<?php
|
||||
|
||||
include_once 'Sample_Header.php';
|
||||
|
||||
// New Word Document
|
||||
|
|
@ -9,20 +10,20 @@ $phpWord = new \PhpOffice\PhpWord\PhpWord();
|
|||
$multipleTabsStyleName = 'multipleTab';
|
||||
$phpWord->addParagraphStyle(
|
||||
$multipleTabsStyleName,
|
||||
array(
|
||||
'tabs' => array(
|
||||
[
|
||||
'tabs' => [
|
||||
new \PhpOffice\PhpWord\Style\Tab('left', 1550),
|
||||
new \PhpOffice\PhpWord\Style\Tab('center', 3200),
|
||||
new \PhpOffice\PhpWord\Style\Tab('right', 5300),
|
||||
),
|
||||
)
|
||||
],
|
||||
]
|
||||
);
|
||||
|
||||
$rightTabStyleName = 'rightTab';
|
||||
$phpWord->addParagraphStyle($rightTabStyleName, array('tabs' => array(new \PhpOffice\PhpWord\Style\Tab('right', 9090))));
|
||||
$phpWord->addParagraphStyle($rightTabStyleName, ['tabs' => [new \PhpOffice\PhpWord\Style\Tab('right', 9090)]]);
|
||||
|
||||
$leftTabStyleName = 'centerTab';
|
||||
$phpWord->addParagraphStyle($leftTabStyleName, array('tabs' => array(new \PhpOffice\PhpWord\Style\Tab('center', 4680))));
|
||||
$phpWord->addParagraphStyle($leftTabStyleName, ['tabs' => [new \PhpOffice\PhpWord\Style\Tab('center', 4680)]]);
|
||||
|
||||
// New portrait section
|
||||
$section = $phpWord->addSection();
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
<?php
|
||||
|
||||
use PhpOffice\PhpWord\SimpleType\VerticalJc;
|
||||
|
||||
include_once 'Sample_Header.php';
|
||||
|
|
@ -8,37 +9,37 @@ echo date('H:i:s'), ' Create new PhpWord object', EOL;
|
|||
$phpWord = new \PhpOffice\PhpWord\PhpWord();
|
||||
|
||||
// New portrait section
|
||||
$section = $phpWord->addSection(array('borderColor' => '00FF00', 'borderSize' => 12));
|
||||
$section = $phpWord->addSection(['borderColor' => '00FF00', 'borderSize' => 12]);
|
||||
$section->addText('I am placed on a default section.');
|
||||
|
||||
// New landscape section
|
||||
$section = $phpWord->addSection(array('orientation' => 'landscape'));
|
||||
$section = $phpWord->addSection(['orientation' => 'landscape']);
|
||||
$section->addText('I am placed on a landscape section. Every page starting from this section will be landscape style.');
|
||||
$section->addPageBreak();
|
||||
$section->addPageBreak();
|
||||
|
||||
// New portrait section
|
||||
$section = $phpWord->addSection(
|
||||
array('paperSize' => 'Folio', 'marginLeft' => 600, 'marginRight' => 600, 'marginTop' => 600, 'marginBottom' => 600)
|
||||
['paperSize' => 'Folio', 'marginLeft' => 600, 'marginRight' => 600, 'marginTop' => 600, 'marginBottom' => 600]
|
||||
);
|
||||
$section->addText('This section uses other margins with folio papersize.');
|
||||
|
||||
// The text of this section is vertically centered
|
||||
$section = $phpWord->addSection(
|
||||
array('vAlign' => VerticalJc::CENTER)
|
||||
['vAlign' => VerticalJc::CENTER]
|
||||
);
|
||||
$section->addText('This section is vertically centered.');
|
||||
|
||||
// New portrait section with Header & Footer
|
||||
$section = $phpWord->addSection(
|
||||
array(
|
||||
'marginLeft' => 200,
|
||||
'marginRight' => 200,
|
||||
'marginTop' => 200,
|
||||
[
|
||||
'marginLeft' => 200,
|
||||
'marginRight' => 200,
|
||||
'marginTop' => 200,
|
||||
'marginBottom' => 200,
|
||||
'headerHeight' => 50,
|
||||
'footerHeight' => 50,
|
||||
)
|
||||
]
|
||||
);
|
||||
$section->addText('This section and we play with header/footer height.');
|
||||
$section->addHeader()->addText('Header');
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
<?php
|
||||
|
||||
include_once 'Sample_Header.php';
|
||||
|
||||
// New Word Document
|
||||
|
|
@ -7,16 +8,16 @@ $phpWord = new \PhpOffice\PhpWord\PhpWord();
|
|||
|
||||
// Define styles
|
||||
$paragraphStyleName = 'pStyle';
|
||||
$phpWord->addParagraphStyle($paragraphStyleName, array('spacing' => 100));
|
||||
$phpWord->addParagraphStyle($paragraphStyleName, ['spacing' => 100]);
|
||||
|
||||
$boldFontStyleName = 'BoldText';
|
||||
$phpWord->addFontStyle($boldFontStyleName, array('bold' => true));
|
||||
$phpWord->addFontStyle($boldFontStyleName, ['bold' => true]);
|
||||
|
||||
$coloredFontStyleName = 'ColoredText';
|
||||
$phpWord->addFontStyle($coloredFontStyleName, array('color' => 'FF8080', 'bgColor' => 'FFFFCC'));
|
||||
$phpWord->addFontStyle($coloredFontStyleName, ['color' => 'FF8080', 'bgColor' => 'FFFFCC']);
|
||||
|
||||
$linkFontStyleName = 'NLink';
|
||||
$phpWord->addLinkStyle($linkFontStyleName, array('color' => '0000FF', 'underline' => \PhpOffice\PhpWord\Style\Font::UNDERLINE_SINGLE));
|
||||
$phpWord->addLinkStyle($linkFontStyleName, ['color' => '0000FF', 'underline' => \PhpOffice\PhpWord\Style\Font::UNDERLINE_SINGLE]);
|
||||
|
||||
// New portrait section
|
||||
$section = $phpWord->addSection();
|
||||
|
|
@ -26,21 +27,21 @@ $textrun = $section->addTextRun($paragraphStyleName);
|
|||
$textrun->addText('Each textrun can contain native text, link elements or an image.');
|
||||
$textrun->addText(' No break is placed after adding an element.', $boldFontStyleName);
|
||||
$textrun->addText(' Both ');
|
||||
$textrun->addText('superscript', array('superScript' => true));
|
||||
$textrun->addText('superscript', ['superScript' => true]);
|
||||
$textrun->addText(' and ');
|
||||
$textrun->addText('subscript', array('subScript' => true));
|
||||
$textrun->addText('subscript', ['subScript' => true]);
|
||||
$textrun->addText(' are also available.');
|
||||
$textrun->addText(' All elements are placed inside a paragraph with the optionally given paragraph style.', $coloredFontStyleName);
|
||||
$textrun->addText(' Sample Link: ');
|
||||
$textrun->addLink('https://github.com/PHPOffice/PHPWord', 'PHPWord on GitHub', $linkFontStyleName);
|
||||
$textrun->addText(' Sample Image: ');
|
||||
$textrun->addImage('resources/_earth.jpg', array('width' => 18, 'height' => 18));
|
||||
$textrun->addImage('resources/_earth.jpg', ['width' => 18, 'height' => 18]);
|
||||
$textrun->addText(' Sample Object: ');
|
||||
$textrun->addObject('resources/_sheet.xls');
|
||||
$textrun->addText(' Here is some more text. ');
|
||||
|
||||
$textrun = $section->addTextRun();
|
||||
$textrun->addText('This text is not visible.', array('hidden' => true));
|
||||
$textrun->addText('This text is not visible.', ['hidden' => true]);
|
||||
|
||||
// Save file
|
||||
echo write($phpWord, basename(__FILE__, '.php'), $writers);
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
<?php
|
||||
|
||||
include_once 'Sample_Header.php';
|
||||
|
||||
// New Word Document
|
||||
|
|
@ -15,30 +16,30 @@ $section->addText("Normal paragraph. {$filler}");
|
|||
|
||||
// Two columns
|
||||
$section = $phpWord->addSection(
|
||||
array(
|
||||
'colsNum' => 2,
|
||||
[
|
||||
'colsNum' => 2,
|
||||
'colsSpace' => 1440,
|
||||
'breakType' => 'continuous',
|
||||
)
|
||||
]
|
||||
);
|
||||
$section->addText("Two columns, one inch (1440 twips) spacing. {$filler}");
|
||||
|
||||
// Normal
|
||||
$section = $phpWord->addSection(array('breakType' => 'continuous'));
|
||||
$section = $phpWord->addSection(['breakType' => 'continuous']);
|
||||
$section->addText("Normal paragraph again. {$filler}");
|
||||
|
||||
// Three columns
|
||||
$section = $phpWord->addSection(
|
||||
array(
|
||||
'colsNum' => 3,
|
||||
[
|
||||
'colsNum' => 3,
|
||||
'colsSpace' => 720,
|
||||
'breakType' => 'continuous',
|
||||
)
|
||||
]
|
||||
);
|
||||
$section->addText("Three columns, half inch (720 twips) spacing. {$filler}");
|
||||
|
||||
// Normal
|
||||
$section = $phpWord->addSection(array('breakType' => 'continuous'));
|
||||
$section = $phpWord->addSection(['breakType' => 'continuous']);
|
||||
$section->addText("Normal paragraph again. {$filler}");
|
||||
|
||||
// Save file
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
<?php
|
||||
|
||||
use PhpOffice\PhpWord\ComplexType\FootnoteProperties;
|
||||
use PhpOffice\PhpWord\SimpleType\NumberFormat;
|
||||
|
||||
|
|
@ -11,16 +12,16 @@ $phpWord = new \PhpOffice\PhpWord\PhpWord();
|
|||
|
||||
// Define styles
|
||||
$paragraphStyleName = 'pStyle';
|
||||
$phpWord->addParagraphStyle($paragraphStyleName, array('spacing' => 100));
|
||||
$phpWord->addParagraphStyle($paragraphStyleName, ['spacing' => 100]);
|
||||
|
||||
$boldFontStyleName = 'BoldText';
|
||||
$phpWord->addFontStyle($boldFontStyleName, array('bold' => true));
|
||||
$phpWord->addFontStyle($boldFontStyleName, ['bold' => true]);
|
||||
|
||||
$coloredFontStyleName = 'ColoredText';
|
||||
$phpWord->addFontStyle($coloredFontStyleName, array('color' => 'FF8080', 'bgColor' => 'FFFFCC'));
|
||||
$phpWord->addFontStyle($coloredFontStyleName, ['color' => 'FF8080', 'bgColor' => 'FFFFCC']);
|
||||
|
||||
$linkFontStyleName = 'NLink';
|
||||
$phpWord->addLinkStyle($linkFontStyleName, array('color' => '0000FF', 'underline' => \PhpOffice\PhpWord\Style\Font::UNDERLINE_SINGLE));
|
||||
$phpWord->addLinkStyle($linkFontStyleName, ['color' => '0000FF', 'underline' => \PhpOffice\PhpWord\Style\Font::UNDERLINE_SINGLE]);
|
||||
|
||||
// New portrait section
|
||||
$section = $phpWord->addSection();
|
||||
|
|
@ -38,7 +39,7 @@ $footnote->addText('But you can insert a manual text break like above, ');
|
|||
$footnote->addText('links like ');
|
||||
$footnote->addLink('https://github.com/PHPOffice/PHPWord', 'PHPWord on GitHub', $linkFontStyleName);
|
||||
$footnote->addText(', image like ');
|
||||
$footnote->addImage('resources/_earth.jpg', array('width' => 18, 'height' => 18));
|
||||
$footnote->addImage('resources/_earth.jpg', ['width' => 18, 'height' => 18]);
|
||||
$footnote->addText(', or object like ');
|
||||
$footnote->addObject('resources/_sheet.xls');
|
||||
$footnote->addText('But you can only put footnote in section, not in header or footer.');
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
<?php
|
||||
|
||||
include_once 'Sample_Header.php';
|
||||
|
||||
// Template processor instance creation
|
||||
|
|
@ -36,26 +37,26 @@ $templateProcessor->setValue('rowNumber#9', '9');
|
|||
$templateProcessor->setValue('rowNumber#10', '10');
|
||||
|
||||
// Table with a spanned cell
|
||||
$values = array(
|
||||
array(
|
||||
'userId' => 1,
|
||||
$values = [
|
||||
[
|
||||
'userId' => 1,
|
||||
'userFirstName' => 'James',
|
||||
'userName' => 'Taylor',
|
||||
'userPhone' => '+1 428 889 773',
|
||||
),
|
||||
array(
|
||||
'userId' => 2,
|
||||
'userName' => 'Taylor',
|
||||
'userPhone' => '+1 428 889 773',
|
||||
],
|
||||
[
|
||||
'userId' => 2,
|
||||
'userFirstName' => 'Robert',
|
||||
'userName' => 'Bell',
|
||||
'userPhone' => '+1 428 889 774',
|
||||
),
|
||||
array(
|
||||
'userId' => 3,
|
||||
'userName' => 'Bell',
|
||||
'userPhone' => '+1 428 889 774',
|
||||
],
|
||||
[
|
||||
'userId' => 3,
|
||||
'userFirstName' => 'Michael',
|
||||
'userName' => 'Ray',
|
||||
'userPhone' => '+1 428 889 775',
|
||||
),
|
||||
);
|
||||
'userName' => 'Ray',
|
||||
'userPhone' => '+1 428 889 775',
|
||||
],
|
||||
];
|
||||
|
||||
$templateProcessor->cloneRowAndSetValues('userId', $values);
|
||||
|
||||
|
|
@ -80,7 +81,7 @@ $templateProcessor->cloneRowAndSetValues('userId', $values);
|
|||
echo date('H:i:s'), ' Saving the result document...', EOL;
|
||||
$templateProcessor->saveAs('results/Sample_07_TemplateCloneRow.docx');
|
||||
|
||||
echo getEndingNotes(array('Word2007' => 'docx'), 'results/Sample_07_TemplateCloneRow.docx');
|
||||
echo getEndingNotes(['Word2007' => 'docx'], 'results/Sample_07_TemplateCloneRow.docx');
|
||||
if (!CLI) {
|
||||
include_once 'Sample_Footer.php';
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,15 +1,16 @@
|
|||
<?php
|
||||
|
||||
include_once 'Sample_Header.php';
|
||||
|
||||
// New Word document
|
||||
echo date('H:i:s'), ' Create new PhpWord object', EOL;
|
||||
$phpWord = new \PhpOffice\PhpWord\PhpWord();
|
||||
$phpWord->setDefaultParagraphStyle(
|
||||
array(
|
||||
'alignment' => \PhpOffice\PhpWord\SimpleType\Jc::BOTH,
|
||||
[
|
||||
'alignment' => \PhpOffice\PhpWord\SimpleType\Jc::BOTH,
|
||||
'spaceAfter' => \PhpOffice\PhpWord\Shared\Converter::pointToTwip(12),
|
||||
'spacing' => 120,
|
||||
)
|
||||
'spacing' => 120,
|
||||
]
|
||||
);
|
||||
|
||||
// New section
|
||||
|
|
@ -19,8 +20,8 @@ $section->addText(
|
|||
'Below are the samples on how to control your paragraph '
|
||||
. 'pagination. See "Line and Page Break" tab on paragraph properties '
|
||||
. 'window to see the attribute set by these controls.',
|
||||
array('bold' => true),
|
||||
array('space' => array('before' => 360, 'after' => 480))
|
||||
['bold' => true],
|
||||
['space' => ['before' => 360, 'after' => 480]]
|
||||
);
|
||||
|
||||
$section->addText(
|
||||
|
|
@ -30,7 +31,7 @@ $section->addText(
|
|||
. 'itself at the bottom of a page. Set this option to "false" if you want '
|
||||
. 'to disable this automatic control.',
|
||||
null,
|
||||
array('widowControl' => false, 'indentation' => array('left' => 240, 'right' => 120))
|
||||
['widowControl' => false, 'indentation' => ['left' => 240, 'right' => 120]]
|
||||
);
|
||||
|
||||
$section->addText(
|
||||
|
|
@ -39,7 +40,7 @@ $section->addText(
|
|||
. 'breaks between paragraphs. Set this option to "true" if you do not want '
|
||||
. 'your paragraph to be separated with the next paragraph.',
|
||||
null,
|
||||
array('keepNext' => true, 'indentation' => array('firstLine' => 240))
|
||||
['keepNext' => true, 'indentation' => ['firstLine' => 240]]
|
||||
);
|
||||
|
||||
$section->addText(
|
||||
|
|
@ -48,7 +49,7 @@ $section->addText(
|
|||
. 'break within a paragraph. Set this option to "true" if you do not want '
|
||||
. 'all lines of your paragraph to be in the same page.',
|
||||
null,
|
||||
array('keepLines' => true, 'indentation' => array('left' => 240, 'hanging' => 240))
|
||||
['keepLines' => true, 'indentation' => ['left' => 240, 'hanging' => 240]]
|
||||
);
|
||||
|
||||
$section->addText('Keep scrolling. More below.');
|
||||
|
|
@ -59,7 +60,7 @@ $section->addText(
|
|||
. 'your paragraph into the next page. This option is most useful for '
|
||||
. 'heading styles.',
|
||||
null,
|
||||
array('pageBreakBefore' => true)
|
||||
['pageBreakBefore' => true]
|
||||
);
|
||||
|
||||
// Save file
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
<?php
|
||||
|
||||
use PhpOffice\PhpWord\Shared\Converter;
|
||||
use PhpOffice\PhpWord\Style\TablePosition;
|
||||
|
||||
|
|
@ -8,7 +9,7 @@ include_once 'Sample_Header.php';
|
|||
echo date('H:i:s'), ' Create new PhpWord object', EOL;
|
||||
$phpWord = new \PhpOffice\PhpWord\PhpWord();
|
||||
$section = $phpWord->addSection();
|
||||
$header = array('size' => 16, 'bold' => true);
|
||||
$header = ['size' => 16, 'bold' => true];
|
||||
|
||||
// 1. Basic table
|
||||
|
||||
|
|
@ -17,9 +18,9 @@ $cols = 5;
|
|||
$section->addText('Basic table', $header);
|
||||
|
||||
$table = $section->addTable();
|
||||
for ($r = 1; $r <= $rows; $r++) {
|
||||
for ($r = 1; $r <= $rows; ++$r) {
|
||||
$table->addRow();
|
||||
for ($c = 1; $c <= $cols; $c++) {
|
||||
for ($c = 1; $c <= $cols; ++$c) {
|
||||
$table->addCell(1750)->addText("Row {$r}, Cell {$c}");
|
||||
}
|
||||
}
|
||||
|
|
@ -30,11 +31,11 @@ $section->addTextBreak(1);
|
|||
$section->addText('Fancy table', $header);
|
||||
|
||||
$fancyTableStyleName = 'Fancy Table';
|
||||
$fancyTableStyle = array('borderSize' => 6, 'borderColor' => '006699', 'cellMargin' => 80, 'alignment' => \PhpOffice\PhpWord\SimpleType\JcTable::CENTER, 'cellSpacing' => 50);
|
||||
$fancyTableFirstRowStyle = array('borderBottomSize' => 18, 'borderBottomColor' => '0000FF', 'bgColor' => '66BBFF');
|
||||
$fancyTableCellStyle = array('valign' => 'center');
|
||||
$fancyTableCellBtlrStyle = array('valign' => 'center', 'textDirection' => \PhpOffice\PhpWord\Style\Cell::TEXT_DIR_BTLR);
|
||||
$fancyTableFontStyle = array('bold' => true);
|
||||
$fancyTableStyle = ['borderSize' => 6, 'borderColor' => '006699', 'cellMargin' => 80, 'alignment' => \PhpOffice\PhpWord\SimpleType\JcTable::CENTER, 'cellSpacing' => 50];
|
||||
$fancyTableFirstRowStyle = ['borderBottomSize' => 18, 'borderBottomColor' => '0000FF', 'bgColor' => '66BBFF'];
|
||||
$fancyTableCellStyle = ['valign' => 'center'];
|
||||
$fancyTableCellBtlrStyle = ['valign' => 'center', 'textDirection' => \PhpOffice\PhpWord\Style\Cell::TEXT_DIR_BTLR];
|
||||
$fancyTableFontStyle = ['bold' => true];
|
||||
$phpWord->addTableStyle($fancyTableStyleName, $fancyTableStyle, $fancyTableFirstRowStyle);
|
||||
$table = $section->addTable($fancyTableStyleName);
|
||||
$table->addRow(900);
|
||||
|
|
@ -43,7 +44,7 @@ $table->addCell(2000, $fancyTableCellStyle)->addText('Row 2', $fancyTableFontSty
|
|||
$table->addCell(2000, $fancyTableCellStyle)->addText('Row 3', $fancyTableFontStyle);
|
||||
$table->addCell(2000, $fancyTableCellStyle)->addText('Row 4', $fancyTableFontStyle);
|
||||
$table->addCell(500, $fancyTableCellBtlrStyle)->addText('Row 5', $fancyTableFontStyle);
|
||||
for ($i = 1; $i <= 8; $i++) {
|
||||
for ($i = 1; $i <= 8; ++$i) {
|
||||
$table->addRow();
|
||||
$table->addCell(2000)->addText("Cell {$i}");
|
||||
$table->addCell(2000)->addText("Cell {$i}");
|
||||
|
|
@ -65,12 +66,12 @@ for ($i = 1; $i <= 8; $i++) {
|
|||
$section->addPageBreak();
|
||||
$section->addText('Table with colspan and rowspan', $header);
|
||||
|
||||
$fancyTableStyle = array('borderSize' => 6, 'borderColor' => '999999');
|
||||
$cellRowSpan = array('vMerge' => 'restart', 'valign' => 'center', 'bgColor' => 'FFFF00');
|
||||
$cellRowContinue = array('vMerge' => 'continue');
|
||||
$cellColSpan = array('gridSpan' => 2, 'valign' => 'center');
|
||||
$cellHCentered = array('alignment' => \PhpOffice\PhpWord\SimpleType\Jc::CENTER);
|
||||
$cellVCentered = array('valign' => 'center');
|
||||
$fancyTableStyle = ['borderSize' => 6, 'borderColor' => '999999'];
|
||||
$cellRowSpan = ['vMerge' => 'restart', 'valign' => 'center', 'bgColor' => 'FFFF00'];
|
||||
$cellRowContinue = ['vMerge' => 'continue'];
|
||||
$cellColSpan = ['gridSpan' => 2, 'valign' => 'center'];
|
||||
$cellHCentered = ['alignment' => \PhpOffice\PhpWord\SimpleType\Jc::CENTER];
|
||||
$cellVCentered = ['valign' => 'center'];
|
||||
|
||||
$spanTableStyleName = 'Colspan Rowspan';
|
||||
$phpWord->addTableStyle($spanTableStyleName, $fancyTableStyle);
|
||||
|
|
@ -111,22 +112,22 @@ $table->addCell(null, $cellRowContinue);
|
|||
$section->addPageBreak();
|
||||
$section->addText('Table with colspan and rowspan', $header);
|
||||
|
||||
$styleTable = array('borderSize' => 6, 'borderColor' => '999999');
|
||||
$styleTable = ['borderSize' => 6, 'borderColor' => '999999'];
|
||||
$phpWord->addTableStyle('Colspan Rowspan', $styleTable);
|
||||
$table = $section->addTable('Colspan Rowspan');
|
||||
|
||||
$row = $table->addRow();
|
||||
$row->addCell(1000, array('vMerge' => 'restart'))->addText('A');
|
||||
$row->addCell(1000, array('gridSpan' => 2, 'vMerge' => 'restart'))->addText('B');
|
||||
$row->addCell(1000, ['vMerge' => 'restart'])->addText('A');
|
||||
$row->addCell(1000, ['gridSpan' => 2, 'vMerge' => 'restart'])->addText('B');
|
||||
$row->addCell(1000)->addText('1');
|
||||
|
||||
$row = $table->addRow();
|
||||
$row->addCell(1000, array('vMerge' => 'continue'));
|
||||
$row->addCell(1000, array('vMerge' => 'continue', 'gridSpan' => 2));
|
||||
$row->addCell(1000, ['vMerge' => 'continue']);
|
||||
$row->addCell(1000, ['vMerge' => 'continue', 'gridSpan' => 2]);
|
||||
$row->addCell(1000)->addText('2');
|
||||
|
||||
$row = $table->addRow();
|
||||
$row->addCell(1000, array('vMerge' => 'continue'));
|
||||
$row->addCell(1000, ['vMerge' => 'continue']);
|
||||
$row->addCell(1000)->addText('C');
|
||||
$row->addCell(1000)->addText('D');
|
||||
$row->addCell(1000)->addText('3');
|
||||
|
|
@ -136,10 +137,10 @@ $row->addCell(1000)->addText('3');
|
|||
$section->addTextBreak(2);
|
||||
$section->addText('Nested table in a centered and 50% width table.', $header);
|
||||
|
||||
$table = $section->addTable(array('width' => 50 * 50, 'unit' => 'pct', 'alignment' => \PhpOffice\PhpWord\SimpleType\JcTable::CENTER));
|
||||
$table = $section->addTable(['width' => 50 * 50, 'unit' => 'pct', 'alignment' => \PhpOffice\PhpWord\SimpleType\JcTable::CENTER]);
|
||||
$cell = $table->addRow()->addCell();
|
||||
$cell->addText('This cell contains nested table.');
|
||||
$innerCell = $cell->addTable(array('alignment' => \PhpOffice\PhpWord\SimpleType\JcTable::CENTER))->addRow()->addCell();
|
||||
$innerCell = $cell->addTable(['alignment' => \PhpOffice\PhpWord\SimpleType\JcTable::CENTER])->addRow()->addCell();
|
||||
$innerCell->addText('Inside nested table');
|
||||
|
||||
// 6. Table with floating position
|
||||
|
|
@ -147,7 +148,7 @@ $innerCell->addText('Inside nested table');
|
|||
$section->addTextBreak(2);
|
||||
$section->addText('Table with floating positioning.', $header);
|
||||
|
||||
$table = $section->addTable(array('borderSize' => 6, 'borderColor' => '999999', 'position' => array('vertAnchor' => TablePosition::VANCHOR_TEXT, 'bottomFromText' => Converter::cmToTwip(1))));
|
||||
$table = $section->addTable(['borderSize' => 6, 'borderColor' => '999999', 'position' => ['vertAnchor' => TablePosition::VANCHOR_TEXT, 'bottomFromText' => Converter::cmToTwip(1)]]);
|
||||
$cell = $table->addRow()->addCell();
|
||||
$cell->addText('This is a single cell.');
|
||||
|
||||
|
|
|
|||
|
|
@ -1,13 +1,14 @@
|
|||
<?php
|
||||
|
||||
include_once 'Sample_Header.php';
|
||||
|
||||
// New Word Document
|
||||
echo date('H:i:s'), ' Create new PhpWord object', EOL;
|
||||
$phpWord = new \PhpOffice\PhpWord\PhpWord();
|
||||
$section = $phpWord->addSection();
|
||||
$header = array('size' => 16, 'bold' => true);
|
||||
$header = ['size' => 16, 'bold' => true];
|
||||
//1.Use EastAisa FontStyle
|
||||
$section->addText('中文楷体样式测试', array('name' => '楷体', 'size' => 16, 'color' => '1B2232', 'lang' => array('latin' => 'en-US', 'eastAsia' => 'zh-CN')));
|
||||
$section->addText('中文楷体样式测试', ['name' => '楷体', 'size' => 16, 'color' => '1B2232', 'lang' => ['latin' => 'en-US', 'eastAsia' => 'zh-CN']]);
|
||||
|
||||
// Save file
|
||||
echo write($phpWord, basename(__FILE__, '.php'), $writers);
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
<?php
|
||||
|
||||
include_once 'Sample_Header.php';
|
||||
|
||||
// Read contents
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
<?php
|
||||
|
||||
include_once 'Sample_Header.php';
|
||||
|
||||
// Read contents
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
<?php
|
||||
|
||||
include_once 'Sample_Header.php';
|
||||
|
||||
// New Word document
|
||||
|
|
@ -17,16 +18,16 @@ $cell = $table->addCell(4500);
|
|||
$textrun = $cell->addTextRun();
|
||||
$textrun->addText('This is the header with ');
|
||||
$textrun->addLink('https://github.com/PHPOffice/PHPWord', 'PHPWord on GitHub');
|
||||
$table->addCell(4500)->addImage('resources/PhpWord.png', array('width' => 80, 'height' => 80, 'alignment' => \PhpOffice\PhpWord\SimpleType\Jc::END));
|
||||
$table->addCell(4500)->addImage('resources/PhpWord.png', ['width' => 80, 'height' => 80, 'alignment' => \PhpOffice\PhpWord\SimpleType\Jc::END]);
|
||||
|
||||
// Add header for all other pages
|
||||
$subsequent = $section->addHeader();
|
||||
$subsequent->addText('Subsequent pages in Section 1 will Have this!');
|
||||
$subsequent->addImage('resources/_mars.jpg', array('width' => 80, 'height' => 80));
|
||||
$subsequent->addImage('resources/_mars.jpg', ['width' => 80, 'height' => 80]);
|
||||
|
||||
// Add footer
|
||||
$footer = $section->addFooter();
|
||||
$footer->addPreserveText('Page {PAGE} of {NUMPAGES}.', null, array('alignment' => \PhpOffice\PhpWord\SimpleType\Jc::CENTER));
|
||||
$footer->addPreserveText('Page {PAGE} of {NUMPAGES}.', null, ['alignment' => \PhpOffice\PhpWord\SimpleType\Jc::CENTER]);
|
||||
$footer->addLink('https://github.com/PHPOffice/PHPWord', 'PHPWord on GitHub');
|
||||
|
||||
// Write some text
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
<?php
|
||||
|
||||
use PhpOffice\PhpWord\Element\Section;
|
||||
use PhpOffice\PhpWord\Shared\Converter;
|
||||
|
||||
|
|
@ -15,7 +16,7 @@ $section->addImage('resources/_mars.jpg');
|
|||
|
||||
printSeparator($section);
|
||||
$section->addText('Local image with styles:');
|
||||
$section->addImage('resources/_earth.jpg', array('width' => 210, 'height' => 210, 'alignment' => \PhpOffice\PhpWord\SimpleType\Jc::CENTER));
|
||||
$section->addImage('resources/_earth.jpg', ['width' => 210, 'height' => 210, 'alignment' => \PhpOffice\PhpWord\SimpleType\Jc::CENTER]);
|
||||
|
||||
// Remote image
|
||||
printSeparator($section);
|
||||
|
|
@ -33,21 +34,21 @@ $section->addImage($fileContent);
|
|||
//Wrapping style
|
||||
printSeparator($section);
|
||||
$text = str_repeat('Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum. ', 2);
|
||||
$wrappingStyles = array('inline', 'behind', 'infront', 'square', 'tight');
|
||||
$wrappingStyles = ['inline', 'behind', 'infront', 'square', 'tight'];
|
||||
foreach ($wrappingStyles as $wrappingStyle) {
|
||||
$section->addText("Wrapping style {$wrappingStyle}");
|
||||
$section->addImage(
|
||||
'resources/_earth.jpg',
|
||||
array(
|
||||
'positioning' => 'relative',
|
||||
'marginTop' => -1,
|
||||
'marginLeft' => 1,
|
||||
'width' => 80,
|
||||
'height' => 80,
|
||||
'wrappingStyle' => $wrappingStyle,
|
||||
'wrapDistanceRight' => Converter::cmToPoint(1),
|
||||
[
|
||||
'positioning' => 'relative',
|
||||
'marginTop' => -1,
|
||||
'marginLeft' => 1,
|
||||
'width' => 80,
|
||||
'height' => 80,
|
||||
'wrappingStyle' => $wrappingStyle,
|
||||
'wrapDistanceRight' => Converter::cmToPoint(1),
|
||||
'wrapDistanceBottom' => Converter::cmToPoint(1),
|
||||
)
|
||||
]
|
||||
);
|
||||
$section->addText($text);
|
||||
printSeparator($section);
|
||||
|
|
@ -57,16 +58,16 @@ foreach ($wrappingStyles as $wrappingStyle) {
|
|||
$section->addText('Absolute positioning: see top right corner of page');
|
||||
$section->addImage(
|
||||
'resources/_mars.jpg',
|
||||
array(
|
||||
'width' => \PhpOffice\PhpWord\Shared\Converter::cmToPixel(3),
|
||||
'height' => \PhpOffice\PhpWord\Shared\Converter::cmToPixel(3),
|
||||
'positioning' => \PhpOffice\PhpWord\Style\Image::POSITION_ABSOLUTE,
|
||||
'posHorizontal' => \PhpOffice\PhpWord\Style\Image::POSITION_HORIZONTAL_RIGHT,
|
||||
[
|
||||
'width' => \PhpOffice\PhpWord\Shared\Converter::cmToPixel(3),
|
||||
'height' => \PhpOffice\PhpWord\Shared\Converter::cmToPixel(3),
|
||||
'positioning' => \PhpOffice\PhpWord\Style\Image::POSITION_ABSOLUTE,
|
||||
'posHorizontal' => \PhpOffice\PhpWord\Style\Image::POSITION_HORIZONTAL_RIGHT,
|
||||
'posHorizontalRel' => \PhpOffice\PhpWord\Style\Image::POSITION_RELATIVE_TO_PAGE,
|
||||
'posVerticalRel' => \PhpOffice\PhpWord\Style\Image::POSITION_RELATIVE_TO_PAGE,
|
||||
'marginLeft' => \PhpOffice\PhpWord\Shared\Converter::cmToPixel(15.5),
|
||||
'marginTop' => \PhpOffice\PhpWord\Shared\Converter::cmToPixel(1.55),
|
||||
)
|
||||
'posVerticalRel' => \PhpOffice\PhpWord\Style\Image::POSITION_RELATIVE_TO_PAGE,
|
||||
'marginLeft' => \PhpOffice\PhpWord\Shared\Converter::cmToPixel(15.5),
|
||||
'marginTop' => \PhpOffice\PhpWord\Shared\Converter::cmToPixel(1.55),
|
||||
]
|
||||
);
|
||||
|
||||
//Relative positioning
|
||||
|
|
@ -75,21 +76,21 @@ $section->addText('Relative positioning: Horizontal position center relative to
|
|||
$section->addText('Vertical position top relative to line');
|
||||
$section->addImage(
|
||||
'resources/_mars.jpg',
|
||||
array(
|
||||
'width' => \PhpOffice\PhpWord\Shared\Converter::cmToPixel(3),
|
||||
'height' => \PhpOffice\PhpWord\Shared\Converter::cmToPixel(3),
|
||||
'positioning' => \PhpOffice\PhpWord\Style\Image::POSITION_RELATIVE,
|
||||
'posHorizontal' => \PhpOffice\PhpWord\Style\Image::POSITION_HORIZONTAL_CENTER,
|
||||
[
|
||||
'width' => \PhpOffice\PhpWord\Shared\Converter::cmToPixel(3),
|
||||
'height' => \PhpOffice\PhpWord\Shared\Converter::cmToPixel(3),
|
||||
'positioning' => \PhpOffice\PhpWord\Style\Image::POSITION_RELATIVE,
|
||||
'posHorizontal' => \PhpOffice\PhpWord\Style\Image::POSITION_HORIZONTAL_CENTER,
|
||||
'posHorizontalRel' => \PhpOffice\PhpWord\Style\Image::POSITION_RELATIVE_TO_COLUMN,
|
||||
'posVertical' => \PhpOffice\PhpWord\Style\Image::POSITION_VERTICAL_TOP,
|
||||
'posVerticalRel' => \PhpOffice\PhpWord\Style\Image::POSITION_RELATIVE_TO_LINE,
|
||||
)
|
||||
'posVertical' => \PhpOffice\PhpWord\Style\Image::POSITION_VERTICAL_TOP,
|
||||
'posVerticalRel' => \PhpOffice\PhpWord\Style\Image::POSITION_RELATIVE_TO_LINE,
|
||||
]
|
||||
);
|
||||
|
||||
function printSeparator(Section $section)
|
||||
function printSeparator(Section $section): void
|
||||
{
|
||||
$section->addTextBreak();
|
||||
$lineStyle = array('weight' => 0.2, 'width' => 150, 'height' => 0, 'align' => 'center');
|
||||
$lineStyle = ['weight' => 0.2, 'width' => 150, 'height' => 0, 'align' => 'center'];
|
||||
$section->addLine($lineStyle);
|
||||
$section->addTextBreak(2);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
<?php
|
||||
|
||||
include_once 'Sample_Header.php';
|
||||
|
||||
// New Word document
|
||||
|
|
@ -7,24 +8,24 @@ $phpWord = new \PhpOffice\PhpWord\PhpWord();
|
|||
|
||||
// Define styles
|
||||
$fontStyleName = 'myOwnStyle';
|
||||
$phpWord->addFontStyle($fontStyleName, array('color' => 'FF0000'));
|
||||
$phpWord->addFontStyle($fontStyleName, ['color' => 'FF0000']);
|
||||
|
||||
$paragraphStyleName = 'P-Style';
|
||||
$phpWord->addParagraphStyle($paragraphStyleName, array('spaceAfter' => 95));
|
||||
$phpWord->addParagraphStyle($paragraphStyleName, ['spaceAfter' => 95]);
|
||||
|
||||
$multilevelNumberingStyleName = 'multilevel';
|
||||
$phpWord->addNumberingStyle(
|
||||
$multilevelNumberingStyleName,
|
||||
array(
|
||||
'type' => 'multilevel',
|
||||
'levels' => array(
|
||||
array('format' => 'decimal', 'text' => '%1.', 'left' => 360, 'hanging' => 360, 'tabPos' => 360),
|
||||
array('format' => 'upperLetter', 'text' => '%2.', 'left' => 720, 'hanging' => 360, 'tabPos' => 720),
|
||||
),
|
||||
)
|
||||
[
|
||||
'type' => 'multilevel',
|
||||
'levels' => [
|
||||
['format' => 'decimal', 'text' => '%1.', 'left' => 360, 'hanging' => 360, 'tabPos' => 360],
|
||||
['format' => 'upperLetter', 'text' => '%2.', 'left' => 720, 'hanging' => 360, 'tabPos' => 720],
|
||||
],
|
||||
]
|
||||
);
|
||||
|
||||
$predefinedMultilevelStyle = array('listType' => \PhpOffice\PhpWord\Style\ListItem::TYPE_NUMBER_NESTED);
|
||||
$predefinedMultilevelStyle = ['listType' => \PhpOffice\PhpWord\Style\ListItem::TYPE_NUMBER_NESTED];
|
||||
|
||||
// New section
|
||||
$section = $phpWord->addSection();
|
||||
|
|
@ -63,32 +64,32 @@ $section->addTextBreak(2);
|
|||
$section->addText('List with inline formatting.');
|
||||
$listItemRun = $section->addListItemRun();
|
||||
$listItemRun->addText('List item 1');
|
||||
$listItemRun->addText(' in bold', array('bold' => true));
|
||||
$listItemRun->addText(' in bold', ['bold' => true]);
|
||||
$listItemRun = $section->addListItemRun(1, $predefinedMultilevelStyle, $paragraphStyleName);
|
||||
$listItemRun->addText('List item 2');
|
||||
$listItemRun->addText(' in italic', array('italic' => true));
|
||||
$listItemRun->addText(' in italic', ['italic' => true]);
|
||||
$footnote = $listItemRun->addFootnote();
|
||||
$footnote->addText('this is a footnote on a list item');
|
||||
$listItemRun = $section->addListItemRun();
|
||||
$listItemRun->addText('List item 3');
|
||||
$listItemRun->addText(' underlined', array('underline' => 'dash'));
|
||||
$listItemRun->addText(' underlined', ['underline' => 'dash']);
|
||||
$section->addTextBreak(2);
|
||||
|
||||
// Numbered heading
|
||||
$headingNumberingStyleName = 'headingNumbering';
|
||||
$phpWord->addNumberingStyle(
|
||||
$headingNumberingStyleName,
|
||||
array('type' => 'multilevel',
|
||||
'levels' => array(
|
||||
array('pStyle' => 'Heading1', 'format' => 'decimal', 'text' => '%1'),
|
||||
array('pStyle' => 'Heading2', 'format' => 'decimal', 'text' => '%1.%2'),
|
||||
array('pStyle' => 'Heading3', 'format' => 'decimal', 'text' => '%1.%2.%3'),
|
||||
),
|
||||
)
|
||||
['type' => 'multilevel',
|
||||
'levels' => [
|
||||
['pStyle' => 'Heading1', 'format' => 'decimal', 'text' => '%1'],
|
||||
['pStyle' => 'Heading2', 'format' => 'decimal', 'text' => '%1.%2'],
|
||||
['pStyle' => 'Heading3', 'format' => 'decimal', 'text' => '%1.%2.%3'],
|
||||
],
|
||||
]
|
||||
);
|
||||
$phpWord->addTitleStyle(1, array('size' => 16), array('numStyle' => $headingNumberingStyleName, 'numLevel' => 0));
|
||||
$phpWord->addTitleStyle(2, array('size' => 14), array('numStyle' => $headingNumberingStyleName, 'numLevel' => 1));
|
||||
$phpWord->addTitleStyle(3, array('size' => 12), array('numStyle' => $headingNumberingStyleName, 'numLevel' => 2));
|
||||
$phpWord->addTitleStyle(1, ['size' => 16], ['numStyle' => $headingNumberingStyleName, 'numLevel' => 0]);
|
||||
$phpWord->addTitleStyle(2, ['size' => 14], ['numStyle' => $headingNumberingStyleName, 'numLevel' => 1]);
|
||||
$phpWord->addTitleStyle(3, ['size' => 12], ['numStyle' => $headingNumberingStyleName, 'numLevel' => 2]);
|
||||
|
||||
$section->addTitle('Heading 1', 1);
|
||||
$section->addTitle('Heading 2', 2);
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
<?php
|
||||
|
||||
include_once 'Sample_Header.php';
|
||||
|
||||
// New Word document
|
||||
|
|
@ -7,7 +8,7 @@ $phpWord = new \PhpOffice\PhpWord\PhpWord();
|
|||
|
||||
// Define styles
|
||||
$linkFontStyleName = 'myOwnLinStyle';
|
||||
$phpWord->addLinkStyle($linkFontStyleName, array('bold' => true, 'color' => '808000'));
|
||||
$phpWord->addLinkStyle($linkFontStyleName, ['bold' => true, 'color' => '808000']);
|
||||
|
||||
// New section
|
||||
$section = $phpWord->addSection();
|
||||
|
|
@ -16,7 +17,7 @@ $section = $phpWord->addSection();
|
|||
$section->addLink(
|
||||
'https://github.com/PHPOffice/PHPWord',
|
||||
'PHPWord on GitHub',
|
||||
array('color' => '0000FF', 'underline' => \PhpOffice\PhpWord\Style\Font::UNDERLINE_SINGLE)
|
||||
['color' => '0000FF', 'underline' => \PhpOffice\PhpWord\Style\Font::UNDERLINE_SINGLE]
|
||||
);
|
||||
$section->addTextBreak(2);
|
||||
$section->addLink('http://www.bing.com', null, $linkFontStyleName);
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
<?php
|
||||
|
||||
include_once 'Sample_Header.php';
|
||||
|
||||
// New Word document
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
<?php
|
||||
|
||||
include_once 'Sample_Header.php';
|
||||
|
||||
// New Word document
|
||||
|
|
@ -10,13 +11,13 @@ $phpWord->getSettings()->setUpdateFields(true);
|
|||
$section = $phpWord->addSection();
|
||||
|
||||
// Define styles
|
||||
$fontStyle12 = array('spaceAfter' => 60, 'size' => 12);
|
||||
$fontStyle10 = array('size' => 10);
|
||||
$phpWord->addTitleStyle(null, array('size' => 22, 'bold' => true));
|
||||
$phpWord->addTitleStyle(1, array('size' => 20, 'color' => '333333', 'bold' => true));
|
||||
$phpWord->addTitleStyle(2, array('size' => 16, 'color' => '666666'));
|
||||
$phpWord->addTitleStyle(3, array('size' => 14, 'italic' => true));
|
||||
$phpWord->addTitleStyle(4, array('size' => 12));
|
||||
$fontStyle12 = ['spaceAfter' => 60, 'size' => 12];
|
||||
$fontStyle10 = ['size' => 10];
|
||||
$phpWord->addTitleStyle(null, ['size' => 22, 'bold' => true]);
|
||||
$phpWord->addTitleStyle(1, ['size' => 20, 'color' => '333333', 'bold' => true]);
|
||||
$phpWord->addTitleStyle(2, ['size' => 16, 'color' => '666666']);
|
||||
$phpWord->addTitleStyle(3, ['size' => 14, 'italic' => true]);
|
||||
$phpWord->addTitleStyle(4, ['size' => 12]);
|
||||
|
||||
// Add text elements
|
||||
$section->addTitle('Table of contents 1', 0);
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
<?php
|
||||
|
||||
include_once 'Sample_Header.php';
|
||||
|
||||
// New Word document
|
||||
|
|
@ -8,7 +9,7 @@ $phpWord = new \PhpOffice\PhpWord\PhpWord();
|
|||
// Begin code
|
||||
$section = $phpWord->addSection();
|
||||
$header = $section->addHeader();
|
||||
$header->addWatermark('resources/_earth.jpg', array('marginTop' => 200, 'marginLeft' => 55));
|
||||
$header->addWatermark('resources/_earth.jpg', ['marginTop' => 200, 'marginLeft' => 55]);
|
||||
$section->addText('The header reference to the current section includes a watermark image.');
|
||||
|
||||
// Save file
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
<?php
|
||||
|
||||
include_once 'Sample_Header.php';
|
||||
|
||||
// New Word document
|
||||
|
|
@ -6,15 +7,15 @@ echo date('H:i:s'), ' Create new PhpWord object', EOL;
|
|||
$phpWord = new \PhpOffice\PhpWord\PhpWord();
|
||||
|
||||
// Define styles
|
||||
$fontStyle24 = array('size' => 24);
|
||||
$fontStyle24 = ['size' => 24];
|
||||
|
||||
$paragraphStyle24 = array('spacing' => 240, 'size' => 24);
|
||||
$paragraphStyle24 = ['spacing' => 240, 'size' => 24];
|
||||
|
||||
$fontStyleName = 'fontStyle';
|
||||
$phpWord->addFontStyle($fontStyleName, array('size' => 9));
|
||||
$phpWord->addFontStyle($fontStyleName, ['size' => 9]);
|
||||
|
||||
$paragraphStyleName = 'paragraphStyle';
|
||||
$phpWord->addParagraphStyle($paragraphStyleName, array('spacing' => 480));
|
||||
$phpWord->addParagraphStyle($paragraphStyleName, ['spacing' => 480]);
|
||||
|
||||
// New section
|
||||
$section = $phpWord->addSection();
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
<?php
|
||||
|
||||
include_once 'Sample_Header.php';
|
||||
|
||||
// New Word document
|
||||
|
|
@ -10,10 +11,10 @@ $section = $phpWord->addSection();
|
|||
|
||||
$section->addText(
|
||||
'This is some text highlighted using fgColor (limited to 15 colors)',
|
||||
array('fgColor' => \PhpOffice\PhpWord\Style\Font::FGCOLOR_YELLOW)
|
||||
['fgColor' => \PhpOffice\PhpWord\Style\Font::FGCOLOR_YELLOW]
|
||||
);
|
||||
$section->addText('This one uses bgColor and is using hex value (0xfbbb10)', array('bgColor' => 'fbbb10'));
|
||||
$section->addText('Compatible with font colors', array('color' => '0000ff', 'bgColor' => 'fbbb10'));
|
||||
$section->addText('This one uses bgColor and is using hex value (0xfbbb10)', ['bgColor' => 'fbbb10']);
|
||||
$section->addText('Compatible with font colors', ['color' => '0000ff', 'bgColor' => 'fbbb10']);
|
||||
|
||||
// Save file
|
||||
echo write($phpWord, basename(__FILE__, '.php'), $writers);
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
<?php
|
||||
|
||||
include_once 'Sample_Header.php';
|
||||
|
||||
// New Word document
|
||||
|
|
@ -15,25 +16,25 @@ $section->addText(
|
|||
. 'the textbreak is still there:'
|
||||
);
|
||||
|
||||
$table1 = $section->addTable(array('cellMargin' => 0, 'cellMarginRight' => 0, 'cellMarginBottom' => 0, 'cellMarginLeft' => 0));
|
||||
$table1 = $section->addTable(['cellMargin' => 0, 'cellMarginRight' => 0, 'cellMarginBottom' => 0, 'cellMarginLeft' => 0]);
|
||||
$table1->addRow(3750);
|
||||
$cell1 = $table1->addCell(null, array('valign' => 'top', 'borderSize' => 30, 'borderColor' => 'ff0000'));
|
||||
$cell1->addImage('./resources/_earth.jpg', array('width' => 250, 'height' => 250, 'alignment' => \PhpOffice\PhpWord\SimpleType\Jc::CENTER));
|
||||
$cell1 = $table1->addCell(null, ['valign' => 'top', 'borderSize' => 30, 'borderColor' => 'ff0000']);
|
||||
$cell1->addImage('./resources/_earth.jpg', ['width' => 250, 'height' => 250, 'alignment' => \PhpOffice\PhpWord\SimpleType\Jc::CENTER]);
|
||||
|
||||
$section->addTextBreak();
|
||||
$section->addText("But if we set the rowStyle 'exactHeight' to true, the real row height is used, removing the textbreak:");
|
||||
|
||||
$table2 = $section->addTable(
|
||||
array(
|
||||
'cellMargin' => 0,
|
||||
'cellMarginRight' => 0,
|
||||
[
|
||||
'cellMargin' => 0,
|
||||
'cellMarginRight' => 0,
|
||||
'cellMarginBottom' => 0,
|
||||
'cellMarginLeft' => 0,
|
||||
)
|
||||
'cellMarginLeft' => 0,
|
||||
]
|
||||
);
|
||||
$table2->addRow(3750, array('exactHeight' => true));
|
||||
$cell2 = $table2->addCell(null, array('valign' => 'top', 'borderSize' => 30, 'borderColor' => '00ff00'));
|
||||
$cell2->addImage('./resources/_earth.jpg', array('width' => 250, 'height' => 250, 'alignment' => \PhpOffice\PhpWord\SimpleType\Jc::CENTER));
|
||||
$table2->addRow(3750, ['exactHeight' => true]);
|
||||
$cell2 = $table2->addCell(null, ['valign' => 'top', 'borderSize' => 30, 'borderColor' => '00ff00']);
|
||||
$cell2->addImage('./resources/_earth.jpg', ['width' => 250, 'height' => 250, 'alignment' => \PhpOffice\PhpWord\SimpleType\Jc::CENTER]);
|
||||
|
||||
$section->addTextBreak();
|
||||
$section->addText('In this example, image is 250px height. Rows are calculated in twips, and 1px = 15twips.');
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
<?php
|
||||
|
||||
include_once 'Sample_Header.php';
|
||||
|
||||
// New Word document
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
<?php
|
||||
|
||||
include_once 'Sample_Header.php';
|
||||
|
||||
// Template processor instance creation
|
||||
|
|
@ -14,7 +15,7 @@ $templateProcessor->deleteBlock('DELETEME');
|
|||
echo date('H:i:s'), ' Saving the result document...', EOL;
|
||||
$templateProcessor->saveAs('results/Sample_23_TemplateBlock.docx');
|
||||
|
||||
echo getEndingNotes(array('Word2007' => 'docx'), 'Sample_23_TemplateBlock');
|
||||
echo getEndingNotes(['Word2007' => 'docx'], 'Sample_23_TemplateBlock');
|
||||
if (!CLI) {
|
||||
include_once 'Sample_Footer.php';
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
<?php
|
||||
|
||||
include_once 'Sample_Header.php';
|
||||
|
||||
// Read contents
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
<?php
|
||||
|
||||
include_once 'Sample_Header.php';
|
||||
|
||||
// New Word Document
|
||||
|
|
@ -10,13 +11,13 @@ $section = $phpWord->addSection();
|
|||
|
||||
// In section
|
||||
$textbox = $section->addTextBox(
|
||||
array(
|
||||
'alignment' => \PhpOffice\PhpWord\SimpleType\Jc::CENTER,
|
||||
'width' => 400,
|
||||
'height' => 150,
|
||||
'borderSize' => 1,
|
||||
[
|
||||
'alignment' => \PhpOffice\PhpWord\SimpleType\Jc::CENTER,
|
||||
'width' => 400,
|
||||
'height' => 150,
|
||||
'borderSize' => 1,
|
||||
'borderColor' => '#FF0000',
|
||||
)
|
||||
]
|
||||
);
|
||||
$textbox->addText('Text box content in section.');
|
||||
$textbox->addText('Another line.');
|
||||
|
|
@ -26,19 +27,19 @@ $cell->addText('Table inside textbox');
|
|||
// Inside table
|
||||
$section->addTextBreak(2);
|
||||
$cell = $section->addTable()->addRow()->addCell(300);
|
||||
$textbox = $cell->addTextBox(array('borderSize' => 1, 'borderColor' => '#0000FF', 'innerMargin' => 100));
|
||||
$textbox = $cell->addTextBox(['borderSize' => 1, 'borderColor' => '#0000FF', 'innerMargin' => 100]);
|
||||
$textbox->addText('Textbox inside table');
|
||||
|
||||
// Inside header with textrun
|
||||
$header = $section->addHeader();
|
||||
$textbox = $header->addTextBox(array('width' => 600, 'borderSize' => 1, 'borderColor' => '#00FF00'));
|
||||
$textbox = $header->addTextBox(['width' => 600, 'borderSize' => 1, 'borderColor' => '#00FF00']);
|
||||
$textrun = $textbox->addTextRun();
|
||||
$textrun->addText('TextBox in header. TextBox can contain a TextRun ');
|
||||
$textrun->addText('with bold text', array('bold' => true));
|
||||
$textrun->addText('with bold text', ['bold' => true]);
|
||||
$textrun->addText(', ');
|
||||
$textrun->addLink('https://github.com/PHPOffice/PHPWord', 'PHPWord on GitHub');
|
||||
$textrun->addText(', and image ');
|
||||
$textrun->addImage('resources/_earth.jpg', array('width' => 18, 'height' => 18));
|
||||
$textrun->addImage('resources/_earth.jpg', ['width' => 18, 'height' => 18]);
|
||||
$textrun->addText('.');
|
||||
|
||||
// Save file
|
||||
|
|
|
|||
|
|
@ -1,10 +1,11 @@
|
|||
<?php
|
||||
|
||||
include_once 'Sample_Header.php';
|
||||
|
||||
// New Word Document
|
||||
echo date('H:i:s') , ' Create new PhpWord object' , EOL;
|
||||
$phpWord = new \PhpOffice\PhpWord\PhpWord();
|
||||
$phpWord->addParagraphStyle('Heading2', array('alignment' => 'center'));
|
||||
$phpWord->addParagraphStyle('Heading2', ['alignment' => 'center']);
|
||||
|
||||
$section = $phpWord->addSection();
|
||||
$html = '<h1>Adding element via HTML</h1>';
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
<?php
|
||||
|
||||
use PhpOffice\PhpWord\Element\TextRun;
|
||||
|
||||
include_once 'Sample_Header.php';
|
||||
|
|
@ -6,7 +7,7 @@ include_once 'Sample_Header.php';
|
|||
// New Word document
|
||||
echo date('H:i:s'), ' Create new PhpWord object', EOL;
|
||||
$phpWord = new \PhpOffice\PhpWord\PhpWord();
|
||||
PhpOffice\PhpWord\Style::addTitleStyle(1, array('size' => 14));
|
||||
PhpOffice\PhpWord\Style::addTitleStyle(1, ['size' => 14]);
|
||||
|
||||
// New section
|
||||
$section = $phpWord->addSection();
|
||||
|
|
@ -15,53 +16,53 @@ $section->addTitle('This page demos fields');
|
|||
// Add Field elements
|
||||
// See Element/Field.php for all options
|
||||
$section->addText('Date field:');
|
||||
$section->addField('DATE', array('dateformat' => 'dddd d MMMM yyyy H:mm:ss'), array('PreserveFormat'));
|
||||
$section->addField('DATE', ['dateformat' => 'dddd d MMMM yyyy H:mm:ss'], ['PreserveFormat']);
|
||||
|
||||
$section->addText('Style Ref field:');
|
||||
$section->addField('STYLEREF', array('StyleIdentifier' => 'Heading 1'));
|
||||
$section->addField('STYLEREF', ['StyleIdentifier' => 'Heading 1']);
|
||||
|
||||
$section->addText('Page field:');
|
||||
$section->addField('PAGE', array('format' => 'Arabic'));
|
||||
$section->addField('PAGE', ['format' => 'Arabic']);
|
||||
|
||||
$section->addText('Number of pages field:');
|
||||
$section->addField('NUMPAGES', array('numformat' => '0,00', 'format' => 'Arabic'), array('PreserveFormat'));
|
||||
$section->addField('NUMPAGES', ['numformat' => '0,00', 'format' => 'Arabic'], ['PreserveFormat']);
|
||||
$section->addTextBreak();
|
||||
|
||||
$textrun = $section->addTextRun();
|
||||
$textrun->addText('An index field is ');
|
||||
$textrun->addField('XE', array(), array('Italic'), 'My first index');
|
||||
$textrun->addField('XE', [], ['Italic'], 'My first index');
|
||||
$textrun->addText('here:');
|
||||
|
||||
$indexEntryText = new TextRun();
|
||||
$indexEntryText->addText('My ');
|
||||
$indexEntryText->addText('bold index', array('bold' => true));
|
||||
$indexEntryText->addText('bold index', ['bold' => true]);
|
||||
$indexEntryText->addText(' entry');
|
||||
|
||||
$textrun = $section->addTextRun();
|
||||
$textrun->addText('A complex index field is ');
|
||||
$textrun->addField('XE', array(), array('Bold'), $indexEntryText);
|
||||
$textrun->addField('XE', [], ['Bold'], $indexEntryText);
|
||||
$textrun->addText('here:');
|
||||
|
||||
$section->addText('The actual index:');
|
||||
$section->addField('INDEX', array(), array('\\e " "'), 'right click to update the index');
|
||||
$section->addField('INDEX', [], ['\\e " "'], 'right click to update the index');
|
||||
|
||||
$textrun = $section->addTextRun(array('alignment' => \PhpOffice\PhpWord\SimpleType\Jc::CENTER));
|
||||
$textrun = $section->addTextRun(['alignment' => \PhpOffice\PhpWord\SimpleType\Jc::CENTER]);
|
||||
$textrun->addText('This is the date of lunar calendar ');
|
||||
$textrun->addField('DATE', array('dateformat' => 'd-M-yyyy H:mm:ss'), array('PreserveFormat', 'LunarCalendar'));
|
||||
$textrun->addField('DATE', ['dateformat' => 'd-M-yyyy H:mm:ss'], ['PreserveFormat', 'LunarCalendar']);
|
||||
$textrun->addText(' written in a textrun.');
|
||||
$section->addTextBreak();
|
||||
|
||||
$macroText = new TextRun();
|
||||
$macroText->addText('Double click', array('bold' => true));
|
||||
$macroText->addText('Double click', ['bold' => true]);
|
||||
$macroText->addText(' to ');
|
||||
$macroText->addText('zoom to 100%', array('italic' => true));
|
||||
$macroText->addText('zoom to 100%', ['italic' => true]);
|
||||
|
||||
$section->addText('A macro button with styled text:');
|
||||
$section->addField('MACROBUTTON', array('macroname' => 'Zoom100'), array(), $macroText);
|
||||
$section->addField('MACROBUTTON', ['macroname' => 'Zoom100'], [], $macroText);
|
||||
$section->addTextBreak();
|
||||
|
||||
$section->addText('A macro button with simple text:');
|
||||
$section->addField('MACROBUTTON', array('macroname' => 'Zoom100'), array(), 'double click to zoom');
|
||||
$section->addField('MACROBUTTON', ['macroname' => 'Zoom100'], [], 'double click to zoom');
|
||||
|
||||
// Save file
|
||||
echo write($phpWord, basename(__FILE__, '.php'), $writers);
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
<?php
|
||||
|
||||
include_once 'Sample_Header.php';
|
||||
|
||||
// Read contents
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
<?php
|
||||
|
||||
include_once 'Sample_Header.php';
|
||||
|
||||
// New Word document
|
||||
|
|
@ -12,49 +13,49 @@ $section = $phpWord->addSection();
|
|||
// See Element/Line.php for all options
|
||||
$section->addText('Horizontal Line (Inline style):');
|
||||
$section->addLine(
|
||||
array(
|
||||
'width' => \PhpOffice\PhpWord\Shared\Converter::cmToPixel(4),
|
||||
'height' => \PhpOffice\PhpWord\Shared\Converter::cmToPixel(0),
|
||||
[
|
||||
'width' => \PhpOffice\PhpWord\Shared\Converter::cmToPixel(4),
|
||||
'height' => \PhpOffice\PhpWord\Shared\Converter::cmToPixel(0),
|
||||
'positioning' => 'absolute',
|
||||
)
|
||||
]
|
||||
);
|
||||
$section->addText('Vertical Line (Inline style):');
|
||||
$section->addLine(
|
||||
array(
|
||||
'width' => \PhpOffice\PhpWord\Shared\Converter::cmToPixel(0),
|
||||
'height' => \PhpOffice\PhpWord\Shared\Converter::cmToPixel(1),
|
||||
[
|
||||
'width' => \PhpOffice\PhpWord\Shared\Converter::cmToPixel(0),
|
||||
'height' => \PhpOffice\PhpWord\Shared\Converter::cmToPixel(1),
|
||||
'positioning' => 'absolute',
|
||||
)
|
||||
]
|
||||
);
|
||||
// Two text break
|
||||
$section->addTextBreak(1);
|
||||
|
||||
$section->addText('Positioned Line (red):');
|
||||
$section->addLine(
|
||||
array(
|
||||
'width' => \PhpOffice\PhpWord\Shared\Converter::cmToPixel(4),
|
||||
'height' => \PhpOffice\PhpWord\Shared\Converter::cmToPixel(1),
|
||||
'positioning' => 'absolute',
|
||||
[
|
||||
'width' => \PhpOffice\PhpWord\Shared\Converter::cmToPixel(4),
|
||||
'height' => \PhpOffice\PhpWord\Shared\Converter::cmToPixel(1),
|
||||
'positioning' => 'absolute',
|
||||
'posHorizontalRel' => 'page',
|
||||
'posVerticalRel' => 'page',
|
||||
'marginLeft' => \PhpOffice\PhpWord\Shared\Converter::cmToPixel(10),
|
||||
'marginTop' => \PhpOffice\PhpWord\Shared\Converter::cmToPixel(8),
|
||||
'wrappingStyle' => \PhpOffice\PhpWord\Style\Image::WRAPPING_STYLE_SQUARE,
|
||||
'color' => 'red',
|
||||
)
|
||||
'posVerticalRel' => 'page',
|
||||
'marginLeft' => \PhpOffice\PhpWord\Shared\Converter::cmToPixel(10),
|
||||
'marginTop' => \PhpOffice\PhpWord\Shared\Converter::cmToPixel(8),
|
||||
'wrappingStyle' => \PhpOffice\PhpWord\Style\Image::WRAPPING_STYLE_SQUARE,
|
||||
'color' => 'red',
|
||||
]
|
||||
);
|
||||
|
||||
$section->addText('Horizontal Formatted Line');
|
||||
$section->addLine(
|
||||
array(
|
||||
'width' => \PhpOffice\PhpWord\Shared\Converter::cmToPixel(15),
|
||||
'height' => \PhpOffice\PhpWord\Shared\Converter::cmToPixel(0),
|
||||
[
|
||||
'width' => \PhpOffice\PhpWord\Shared\Converter::cmToPixel(15),
|
||||
'height' => \PhpOffice\PhpWord\Shared\Converter::cmToPixel(0),
|
||||
'positioning' => 'absolute',
|
||||
'beginArrow' => \PhpOffice\PhpWord\Style\Line::ARROW_STYLE_BLOCK,
|
||||
'endArrow' => \PhpOffice\PhpWord\Style\Line::ARROW_STYLE_OVAL,
|
||||
'dash' => \PhpOffice\PhpWord\Style\Line::DASH_STYLE_LONG_DASH_DOT_DOT,
|
||||
'weight' => 10,
|
||||
)
|
||||
'beginArrow' => \PhpOffice\PhpWord\Style\Line::ARROW_STYLE_BLOCK,
|
||||
'endArrow' => \PhpOffice\PhpWord\Style\Line::ARROW_STYLE_OVAL,
|
||||
'dash' => \PhpOffice\PhpWord\Style\Line::DASH_STYLE_LONG_DASH_DOT_DOT,
|
||||
'weight' => 10,
|
||||
]
|
||||
);
|
||||
|
||||
// Save file
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
<?php
|
||||
|
||||
include_once 'Sample_Header.php';
|
||||
|
||||
// Read contents
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
<?php
|
||||
|
||||
include_once 'Sample_Header.php';
|
||||
|
||||
// New Word document
|
||||
|
|
@ -9,85 +10,85 @@ $phpWord = new \PhpOffice\PhpWord\PhpWord();
|
|||
$section = $phpWord->addSection();
|
||||
|
||||
// Define styles
|
||||
$phpWord->addTitleStyle(1, array('size' => 14, 'bold' => true));
|
||||
$phpWord->addTitleStyle(1, ['size' => 14, 'bold' => true]);
|
||||
|
||||
// Arc
|
||||
$section->addTitle('Arc', 1);
|
||||
$section->addShape(
|
||||
'arc',
|
||||
array(
|
||||
'points' => '-90 20',
|
||||
'frame' => array('width' => 120, 'height' => 120),
|
||||
'outline' => array('color' => '#333333', 'weight' => 2, 'startArrow' => 'oval', 'endArrow' => 'open'),
|
||||
)
|
||||
[
|
||||
'points' => '-90 20',
|
||||
'frame' => ['width' => 120, 'height' => 120],
|
||||
'outline' => ['color' => '#333333', 'weight' => 2, 'startArrow' => 'oval', 'endArrow' => 'open'],
|
||||
]
|
||||
);
|
||||
|
||||
// Curve
|
||||
$section->addTitle('Curve', 1);
|
||||
$section->addShape(
|
||||
'curve',
|
||||
array(
|
||||
'points' => '1,100 200,1 1,50 200,50',
|
||||
[
|
||||
'points' => '1,100 200,1 1,50 200,50',
|
||||
'connector' => 'elbow',
|
||||
'outline' => array(
|
||||
'color' => '#66cc00',
|
||||
'weight' => 2,
|
||||
'dash' => 'dash',
|
||||
'outline' => [
|
||||
'color' => '#66cc00',
|
||||
'weight' => 2,
|
||||
'dash' => 'dash',
|
||||
'startArrow' => 'diamond',
|
||||
'endArrow' => 'block',
|
||||
),
|
||||
)
|
||||
'endArrow' => 'block',
|
||||
],
|
||||
]
|
||||
);
|
||||
|
||||
// Line
|
||||
$section->addTitle('Line', 1);
|
||||
$section->addShape(
|
||||
'line',
|
||||
array(
|
||||
'points' => '1,1 150,30',
|
||||
'outline' => array(
|
||||
'color' => '#cc00ff',
|
||||
'line' => 'thickThin',
|
||||
'weight' => 3,
|
||||
[
|
||||
'points' => '1,1 150,30',
|
||||
'outline' => [
|
||||
'color' => '#cc00ff',
|
||||
'line' => 'thickThin',
|
||||
'weight' => 3,
|
||||
'startArrow' => 'oval',
|
||||
'endArrow' => 'classic',
|
||||
),
|
||||
)
|
||||
'endArrow' => 'classic',
|
||||
],
|
||||
]
|
||||
);
|
||||
|
||||
// Polyline
|
||||
$section->addTitle('Polyline', 1);
|
||||
$section->addShape(
|
||||
'polyline',
|
||||
array(
|
||||
'points' => '1,30 20,10 55,20 75,10 100,40 115,50, 120,15 200,50',
|
||||
'outline' => array('color' => '#cc6666', 'weight' => 2, 'startArrow' => 'none', 'endArrow' => 'classic'),
|
||||
)
|
||||
[
|
||||
'points' => '1,30 20,10 55,20 75,10 100,40 115,50, 120,15 200,50',
|
||||
'outline' => ['color' => '#cc6666', 'weight' => 2, 'startArrow' => 'none', 'endArrow' => 'classic'],
|
||||
]
|
||||
);
|
||||
|
||||
// Rectangle
|
||||
$section->addTitle('Rectangle', 1);
|
||||
$section->addShape(
|
||||
'rect',
|
||||
array(
|
||||
[
|
||||
'roundness' => 0.2,
|
||||
'frame' => array('width' => 100, 'height' => 100, 'left' => 1, 'top' => 1),
|
||||
'fill' => array('color' => '#FFCC33'),
|
||||
'outline' => array('color' => '#990000', 'weight' => 1),
|
||||
'shadow' => array(),
|
||||
)
|
||||
'frame' => ['width' => 100, 'height' => 100, 'left' => 1, 'top' => 1],
|
||||
'fill' => ['color' => '#FFCC33'],
|
||||
'outline' => ['color' => '#990000', 'weight' => 1],
|
||||
'shadow' => [],
|
||||
]
|
||||
);
|
||||
|
||||
// Oval
|
||||
$section->addTitle('Oval', 1);
|
||||
$section->addShape(
|
||||
'oval',
|
||||
array(
|
||||
'frame' => array('width' => 100, 'height' => 70, 'left' => 1, 'top' => 1),
|
||||
'fill' => array('color' => '#33CC99'),
|
||||
'outline' => array('color' => '#333333', 'weight' => 2),
|
||||
'extrusion' => array(),
|
||||
)
|
||||
[
|
||||
'frame' => ['width' => 100, 'height' => 70, 'left' => 1, 'top' => 1],
|
||||
'fill' => ['color' => '#33CC99'],
|
||||
'outline' => ['color' => '#333333', 'weight' => 2],
|
||||
'extrusion' => [],
|
||||
]
|
||||
);
|
||||
|
||||
// Save file
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
<?php
|
||||
|
||||
include_once 'Sample_Header.php';
|
||||
|
||||
use PhpOffice\PhpWord\Shared\Converter;
|
||||
|
|
@ -8,21 +9,21 @@ echo date('H:i:s'), ' Create new PhpWord object', EOL;
|
|||
$phpWord = new \PhpOffice\PhpWord\PhpWord();
|
||||
|
||||
// Define styles
|
||||
$phpWord->addTitleStyle(1, array('size' => 14, 'bold' => true), array('keepNext' => true, 'spaceBefore' => 240));
|
||||
$phpWord->addTitleStyle(2, array('size' => 14, 'bold' => true), array('keepNext' => true, 'spaceBefore' => 240));
|
||||
$phpWord->addTitleStyle(1, ['size' => 14, 'bold' => true], ['keepNext' => true, 'spaceBefore' => 240]);
|
||||
$phpWord->addTitleStyle(2, ['size' => 14, 'bold' => true], ['keepNext' => true, 'spaceBefore' => 240]);
|
||||
|
||||
// 2D charts
|
||||
$section = $phpWord->addSection();
|
||||
$section->addTitle('2D charts', 1);
|
||||
$section = $phpWord->addSection(array('colsNum' => 2, 'breakType' => 'continuous'));
|
||||
$section = $phpWord->addSection(['colsNum' => 2, 'breakType' => 'continuous']);
|
||||
|
||||
$chartTypes = array('pie', 'doughnut', 'bar', 'column', 'line', 'area', 'scatter', 'radar', 'stacked_bar', 'percent_stacked_bar', 'stacked_column', 'percent_stacked_column');
|
||||
$twoSeries = array('bar', 'column', 'line', 'area', 'scatter', 'radar', 'stacked_bar', 'percent_stacked_bar', 'stacked_column', 'percent_stacked_column');
|
||||
$threeSeries = array('bar', 'line');
|
||||
$categories = array('A', 'B', 'C', 'D', 'E');
|
||||
$series1 = array(1, 3, 2, 5, 4);
|
||||
$series2 = array(3, 1, 7, 2, 6);
|
||||
$series3 = array(8, 3, 2, 5, 4);
|
||||
$chartTypes = ['pie', 'doughnut', 'bar', 'column', 'line', 'area', 'scatter', 'radar', 'stacked_bar', 'percent_stacked_bar', 'stacked_column', 'percent_stacked_column'];
|
||||
$twoSeries = ['bar', 'column', 'line', 'area', 'scatter', 'radar', 'stacked_bar', 'percent_stacked_bar', 'stacked_column', 'percent_stacked_column'];
|
||||
$threeSeries = ['bar', 'line'];
|
||||
$categories = ['A', 'B', 'C', 'D', 'E'];
|
||||
$series1 = [1, 3, 2, 5, 4];
|
||||
$series2 = [3, 1, 7, 2, 6];
|
||||
$series3 = [8, 3, 2, 5, 4];
|
||||
$showGridLines = false;
|
||||
$showAxisLabels = false;
|
||||
$showLegend = true;
|
||||
|
|
@ -48,20 +49,20 @@ foreach ($chartTypes as $chartType) {
|
|||
}
|
||||
|
||||
// 3D charts
|
||||
$section = $phpWord->addSection(array('breakType' => 'continuous'));
|
||||
$section = $phpWord->addSection(['breakType' => 'continuous']);
|
||||
$section->addTitle('3D charts', 1);
|
||||
$section = $phpWord->addSection(array('colsNum' => 2, 'breakType' => 'continuous'));
|
||||
$section = $phpWord->addSection(['colsNum' => 2, 'breakType' => 'continuous']);
|
||||
|
||||
$chartTypes = array('pie', 'bar', 'column', 'line', 'area');
|
||||
$multiSeries = array('bar', 'column', 'line', 'area');
|
||||
$style = array(
|
||||
'width' => Converter::cmToEmu(5),
|
||||
'height' => Converter::cmToEmu(4),
|
||||
'3d' => true,
|
||||
$chartTypes = ['pie', 'bar', 'column', 'line', 'area'];
|
||||
$multiSeries = ['bar', 'column', 'line', 'area'];
|
||||
$style = [
|
||||
'width' => Converter::cmToEmu(5),
|
||||
'height' => Converter::cmToEmu(4),
|
||||
'3d' => true,
|
||||
'showAxisLabels' => $showAxisLabels,
|
||||
'showGridX' => $showGridLines,
|
||||
'showGridY' => $showGridLines,
|
||||
);
|
||||
'showGridX' => $showGridLines,
|
||||
'showGridY' => $showGridLines,
|
||||
];
|
||||
foreach ($chartTypes as $chartType) {
|
||||
$section->addTitle(ucfirst($chartType), 2);
|
||||
$chart = $section->addChart($chartType, $categories, $series1, $style);
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
<?php
|
||||
|
||||
include_once 'Sample_Header.php';
|
||||
|
||||
// New Word document
|
||||
|
|
@ -15,7 +16,7 @@ $textrun->addFormField('textinput')->setName('MyTextBox');
|
|||
$textrun->addText(', checkbox ');
|
||||
$textrun->addFormField('checkbox')->setDefault(true);
|
||||
$textrun->addText(', or dropdown ');
|
||||
$textrun->addFormField('dropdown')->setEntries(array('Choice 1', 'Choice 2', 'Choice 3'));
|
||||
$textrun->addFormField('dropdown')->setEntries(['Choice 1', 'Choice 2', 'Choice 3']);
|
||||
$textrun->addText('. You have to set document protection to "forms" to enable dropdown.');
|
||||
|
||||
$section->addText('They can also be added as a stand alone paragraph.');
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
<?php
|
||||
|
||||
include_once 'Sample_Header.php';
|
||||
|
||||
// New Word document
|
||||
|
|
@ -10,7 +11,7 @@ $section = $phpWord->addSection();
|
|||
|
||||
$textrun = $section->addTextRun();
|
||||
$textrun->addText('Combobox: ');
|
||||
$textrun->addSDT('comboBox')->setListItems(array('1' => 'Choice 1', '2' => 'Choice 2'));
|
||||
$textrun->addSDT('comboBox')->setListItems(['1' => 'Choice 1', '2' => 'Choice 2']);
|
||||
|
||||
$textrun = $section->addTextRun();
|
||||
$textrun->addText('Date: ');
|
||||
|
|
@ -24,7 +25,7 @@ $textrun->addSDT('date')->setValue('30.03.2017');
|
|||
|
||||
$textrun = $section->addTextRun();
|
||||
$textrun->addText('Drop down list: ');
|
||||
$textrun->addSDT('dropDownList')->setListItems(array('1' => 'Choice 1', '2' => 'Choice 2'))->setValue('Choice 1');
|
||||
$textrun->addSDT('dropDownList')->setListItems(['1' => 'Choice 1', '2' => 'Choice 2'])->setValue('Choice 1');
|
||||
|
||||
// Save file
|
||||
echo write($phpWord, basename(__FILE__, '.php'), $writers);
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
<?php
|
||||
|
||||
include_once 'Sample_Header.php';
|
||||
|
||||
// New Word document
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
<?php
|
||||
|
||||
include_once 'Sample_Header.php';
|
||||
|
||||
// New Word document
|
||||
|
|
@ -11,17 +12,17 @@ $section = $phpWord->addSection();
|
|||
$textrun = $section->addTextRun();
|
||||
$textrun->addText('This is a Left to Right paragraph.');
|
||||
|
||||
$textrun = $section->addTextRun(array('alignment' => \PhpOffice\PhpWord\SimpleType\Jc::END));
|
||||
$textrun->addText('سلام این یک پاراگراف راست به چپ است', array('rtl' => true));
|
||||
$textrun = $section->addTextRun(['alignment' => \PhpOffice\PhpWord\SimpleType\Jc::END]);
|
||||
$textrun->addText('سلام این یک پاراگراف راست به چپ است', ['rtl' => true]);
|
||||
|
||||
$section->addText('Table visually presented as RTL');
|
||||
$style = array('rtl' => true, 'size' => 12);
|
||||
$tableStyle = array('borderSize' => 6, 'borderColor' => '000000', 'width' => 5000, 'unit' => \PhpOffice\PhpWord\SimpleType\TblWidth::PERCENT, 'bidiVisual' => true);
|
||||
$style = ['rtl' => true, 'size' => 12];
|
||||
$tableStyle = ['borderSize' => 6, 'borderColor' => '000000', 'width' => 5000, 'unit' => \PhpOffice\PhpWord\SimpleType\TblWidth::PERCENT, 'bidiVisual' => true];
|
||||
|
||||
$table = $section->addTable($tableStyle);
|
||||
$cellHCentered = array('alignment' => \PhpOffice\PhpWord\SimpleType\Jc::CENTER);
|
||||
$cellHEnd = array('alignment' => \PhpOffice\PhpWord\SimpleType\Jc::END);
|
||||
$cellVCentered = array('valign' => \PhpOffice\PhpWord\Style\Cell::VALIGN_CENTER);
|
||||
$cellHCentered = ['alignment' => \PhpOffice\PhpWord\SimpleType\Jc::CENTER];
|
||||
$cellHEnd = ['alignment' => \PhpOffice\PhpWord\SimpleType\Jc::END];
|
||||
$cellVCentered = ['valign' => \PhpOffice\PhpWord\Style\Cell::VALIGN_CENTER];
|
||||
|
||||
//Vidually bidirectinal table
|
||||
$table->addRow();
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
<?php
|
||||
|
||||
include_once 'Sample_Header.php';
|
||||
|
||||
// New Word Document
|
||||
|
|
@ -7,7 +8,7 @@ $phpWord = new \PhpOffice\PhpWord\PhpWord();
|
|||
|
||||
// A comment
|
||||
$comment = new \PhpOffice\PhpWord\Element\Comment('Authors name', new \DateTime(), 'my_initials');
|
||||
$comment->addText('Test', array('bold' => true));
|
||||
$comment->addText('Test', ['bold' => true]);
|
||||
$phpWord->addComment($comment);
|
||||
|
||||
$section = $phpWord->addSection();
|
||||
|
|
@ -27,9 +28,9 @@ $phpWord->addComment($commentWithStartAndEnd);
|
|||
|
||||
$textrunWithEnd = $section->addTextRun();
|
||||
$textrunWithEnd->addText('This ');
|
||||
$textToStartOn = $textrunWithEnd->addText('is', array('bold' => true));
|
||||
$textToStartOn = $textrunWithEnd->addText('is', ['bold' => true]);
|
||||
$textToStartOn->setCommentRangeStart($commentWithStartAndEnd);
|
||||
$textrunWithEnd->addText(' another', array('italic' => true));
|
||||
$textrunWithEnd->addText(' another', ['italic' => true]);
|
||||
$textToEndOn = $textrunWithEnd->addText(' test');
|
||||
$textToEndOn->setCommentRangeEnd($commentWithStartAndEnd);
|
||||
|
||||
|
|
@ -39,7 +40,7 @@ $section->addTextBreak(2);
|
|||
$commentOnImage = new \PhpOffice\PhpWord\Element\Comment('Mr Smart', new \DateTime());
|
||||
$imageComment = $commentOnImage->addTextRun();
|
||||
$imageComment->addText('Hey, Mars does look ');
|
||||
$imageComment->addText('red', array('color' => 'FF0000'));
|
||||
$imageComment->addText('red', ['color' => 'FF0000']);
|
||||
$phpWord->addComment($commentOnImage);
|
||||
$image = $section->addImage('resources/_mars.jpg');
|
||||
$image->setCommentRangeStart($commentOnImage);
|
||||
|
|
@ -50,7 +51,7 @@ $section->addTextBreak(2);
|
|||
$anotherText = $section->addText('another text');
|
||||
|
||||
$comment1 = new \PhpOffice\PhpWord\Element\Comment('Authors name', new \DateTime(), 'my_initials');
|
||||
$comment1->addText('Test', array('bold' => true));
|
||||
$comment1->addText('Test', ['bold' => true]);
|
||||
$comment1->setStartElement($anotherText);
|
||||
$comment1->setEndElement($anotherText);
|
||||
$phpWord->addComment($comment1);
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
<?php
|
||||
|
||||
use PhpOffice\PhpWord\SimpleType\DocProtect;
|
||||
|
||||
include_once 'Sample_Header.php';
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
<?php
|
||||
|
||||
use PhpOffice\PhpWord\Element\TrackChange;
|
||||
|
||||
include_once 'Sample_Header.php';
|
||||
|
|
@ -13,7 +14,7 @@ $textRun = $section->addTextRun();
|
|||
|
||||
$text = $textRun->addText('Hello World! Time to ');
|
||||
|
||||
$text = $textRun->addText('wake ', array('bold' => true));
|
||||
$text = $textRun->addText('wake ', ['bold' => true]);
|
||||
$text->setChangeInfo(TrackChange::INSERTED, 'Fred', time() - 1800);
|
||||
|
||||
$text = $textRun->addText('up');
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
<?php
|
||||
|
||||
use PhpOffice\PhpWord\Element\Field;
|
||||
use PhpOffice\PhpWord\Element\Table;
|
||||
use PhpOffice\PhpWord\Element\TextRun;
|
||||
|
|
@ -11,15 +12,15 @@ echo date('H:i:s'), ' Creating new TemplateProcessor instance...', EOL;
|
|||
$templateProcessor = new \PhpOffice\PhpWord\TemplateProcessor('resources/Sample_40_TemplateSetComplexValue.docx');
|
||||
|
||||
$title = new TextRun();
|
||||
$title->addText('This title has been set ', array('bold' => true, 'italic' => true, 'color' => 'blue'));
|
||||
$title->addText('dynamically', array('bold' => true, 'italic' => true, 'color' => 'red', 'underline' => 'single'));
|
||||
$title->addText('This title has been set ', ['bold' => true, 'italic' => true, 'color' => 'blue']);
|
||||
$title->addText('dynamically', ['bold' => true, 'italic' => true, 'color' => 'red', 'underline' => 'single']);
|
||||
$templateProcessor->setComplexBlock('title', $title);
|
||||
|
||||
$inline = new TextRun();
|
||||
$inline->addText('by a red italic text', array('italic' => true, 'color' => 'red'));
|
||||
$inline->addText('by a red italic text', ['italic' => true, 'color' => 'red']);
|
||||
$templateProcessor->setComplexValue('inline', $inline);
|
||||
|
||||
$table = new Table(array('borderSize' => 12, 'borderColor' => 'green', 'width' => 6000, 'unit' => TblWidth::TWIP));
|
||||
$table = new Table(['borderSize' => 12, 'borderColor' => 'green', 'width' => 6000, 'unit' => TblWidth::TWIP]);
|
||||
$table->addRow();
|
||||
$table->addCell(150)->addText('Cell A1');
|
||||
$table->addCell(150)->addText('Cell A2');
|
||||
|
|
@ -30,7 +31,7 @@ $table->addCell(150)->addText('Cell B2');
|
|||
$table->addCell(150)->addText('Cell B3');
|
||||
$templateProcessor->setComplexBlock('table', $table);
|
||||
|
||||
$field = new Field('DATE', array('dateformat' => 'dddd d MMMM yyyy H:mm:ss'), array('PreserveFormat'));
|
||||
$field = new Field('DATE', ['dateformat' => 'dddd d MMMM yyyy H:mm:ss'], ['PreserveFormat']);
|
||||
$templateProcessor->setComplexValue('field', $field);
|
||||
|
||||
// $link = new Link('https://github.com/PHPOffice/PHPWord');
|
||||
|
|
@ -39,7 +40,7 @@ $templateProcessor->setComplexValue('field', $field);
|
|||
echo date('H:i:s'), ' Saving the result document...', EOL;
|
||||
$templateProcessor->saveAs('results/Sample_40_TemplateSetComplexValue.docx');
|
||||
|
||||
echo getEndingNotes(array('Word2007' => 'docx'), 'results/Sample_40_TemplateSetComplexValue.docx');
|
||||
echo getEndingNotes(['Word2007' => 'docx'], 'results/Sample_40_TemplateSetComplexValue.docx');
|
||||
if (!CLI) {
|
||||
include_once 'Sample_Footer.php';
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,4 +1,5 @@
|
|||
<?php
|
||||
|
||||
use PhpOffice\PhpWord\Element\Chart;
|
||||
use PhpOffice\PhpWord\Shared\Converter;
|
||||
|
||||
|
|
@ -8,14 +9,14 @@ include_once 'Sample_Header.php';
|
|||
echo date('H:i:s'), ' Creating new TemplateProcessor instance...', EOL;
|
||||
$templateProcessor = new \PhpOffice\PhpWord\TemplateProcessor('resources/Sample_41_TemplateSetChart.docx');
|
||||
|
||||
$chartTypes = array('pie', 'doughnut', 'bar', 'column', 'line', 'area', 'scatter', 'radar', 'stacked_bar', 'percent_stacked_bar', 'stacked_column', 'percent_stacked_column');
|
||||
$twoSeries = array('bar', 'column', 'line', 'area', 'scatter', 'radar', 'stacked_bar', 'percent_stacked_bar', 'stacked_column', 'percent_stacked_column');
|
||||
$threeSeries = array('bar', 'line');
|
||||
$chartTypes = ['pie', 'doughnut', 'bar', 'column', 'line', 'area', 'scatter', 'radar', 'stacked_bar', 'percent_stacked_bar', 'stacked_column', 'percent_stacked_column'];
|
||||
$twoSeries = ['bar', 'column', 'line', 'area', 'scatter', 'radar', 'stacked_bar', 'percent_stacked_bar', 'stacked_column', 'percent_stacked_column'];
|
||||
$threeSeries = ['bar', 'line'];
|
||||
|
||||
$categories = array('A', 'B', 'C', 'D', 'E');
|
||||
$series1 = array(1, 3, 2, 5, 4);
|
||||
$series2 = array(3, 1, 7, 2, 6);
|
||||
$series3 = array(8, 3, 2, 5, 4);
|
||||
$categories = ['A', 'B', 'C', 'D', 'E'];
|
||||
$series1 = [1, 3, 2, 5, 4];
|
||||
$series2 = [3, 1, 7, 2, 6];
|
||||
$series3 = [8, 3, 2, 5, 4];
|
||||
|
||||
$i = 0;
|
||||
foreach ($chartTypes as $chartType) {
|
||||
|
|
@ -33,13 +34,13 @@ foreach ($chartTypes as $chartType) {
|
|||
->setHeight(Converter::inchToEmu(3));
|
||||
|
||||
$templateProcessor->setChart("chart{$i}", $chart);
|
||||
$i++;
|
||||
++$i;
|
||||
}
|
||||
|
||||
echo date('H:i:s'), ' Saving the result document...', EOL;
|
||||
$templateProcessor->saveAs('results/Sample_41_TemplateSetChart.docx');
|
||||
|
||||
echo getEndingNotes(array('Word2007' => 'docx'), 'results/Sample_41_TemplateSetChart.docx');
|
||||
echo getEndingNotes(['Word2007' => 'docx'], 'results/Sample_41_TemplateSetChart.docx');
|
||||
if (!CLI) {
|
||||
include_once 'Sample_Footer.php';
|
||||
}
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ if (file_exists($dompdfPath)) {
|
|||
}
|
||||
|
||||
// Set writers
|
||||
$writers = array('Word2007' => 'docx', 'ODText' => 'odt', 'RTF' => 'rtf', 'HTML' => 'html', 'PDF' => 'pdf');
|
||||
$writers = ['Word2007' => 'docx', 'ODText' => 'odt', 'RTF' => 'rtf', 'HTML' => 'html', 'PDF' => 'pdf'];
|
||||
|
||||
// Set PDF renderer
|
||||
if (null === Settings::getPdfRendererPath()) {
|
||||
|
|
@ -43,7 +43,7 @@ $pageHeading = IS_INDEX ? '' : "<h1>{$pageHeading}</h1>";
|
|||
// Populate samples
|
||||
$files = '';
|
||||
if ($handle = opendir('.')) {
|
||||
$sampleFiles = array();
|
||||
$sampleFiles = [];
|
||||
while (false !== ($sampleFile = readdir($handle))) {
|
||||
$sampleFiles[] = $sampleFile;
|
||||
}
|
||||
|
|
@ -59,7 +59,7 @@ if ($handle = opendir('.')) {
|
|||
}
|
||||
|
||||
/**
|
||||
* Write documents
|
||||
* Write documents.
|
||||
*
|
||||
* @param \PhpOffice\PhpWord\PhpWord $phpWord
|
||||
* @param string $filename
|
||||
|
|
@ -89,10 +89,11 @@ function write($phpWord, $filename, $writers)
|
|||
}
|
||||
|
||||
/**
|
||||
* Get ending notes
|
||||
* Get ending notes.
|
||||
*
|
||||
* @param array $writers
|
||||
* @param mixed $filename
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
function getEndingNotes($writers, $filename)
|
||||
|
|
@ -114,7 +115,7 @@ function getEndingNotes($writers, $filename)
|
|||
$result .= '<p> </p>';
|
||||
$result .= '<p>Results: ';
|
||||
foreach ($types as $type) {
|
||||
if (!is_null($type)) {
|
||||
if (null !== $type) {
|
||||
$resultFile = 'results/' . SCRIPT_FILENAME . '.' . $type;
|
||||
if (file_exists($resultFile)) {
|
||||
$result .= "<a href='{$resultFile}' class='btn btn-primary'>{$type}</a> ";
|
||||
|
|
|
|||
|
|
@ -3,15 +3,15 @@ include_once 'Sample_Header.php';
|
|||
|
||||
use PhpOffice\PhpWord\Settings;
|
||||
|
||||
$requirements = array(
|
||||
'php' => array('PHP 7.4', version_compare(PHP_VERSION, '7.4', '>=')),
|
||||
'xml' => array('PHP extension XML', extension_loaded('xml')),
|
||||
'temp' => array('Temp folder "<code>' . Settings::getTempDir() . '</code>" is writable', is_writable(Settings::getTempDir())),
|
||||
'zip' => array('PHP extension ZipArchive (optional)', extension_loaded('zip')),
|
||||
'gd' => array('PHP extension GD (optional)', extension_loaded('gd')),
|
||||
'xmlw' => array('PHP extension XMLWriter (optional)', extension_loaded('xmlwriter')),
|
||||
'xsl' => array('PHP extension XSL (optional)', extension_loaded('xsl')),
|
||||
);
|
||||
$requirements = [
|
||||
'php' => ['PHP 7.4', version_compare(PHP_VERSION, '7.4', '>=')],
|
||||
'xml' => ['PHP extension XML', extension_loaded('xml')],
|
||||
'temp' => ['Temp folder "<code>' . Settings::getTempDir() . '</code>" is writable', is_writable(Settings::getTempDir())],
|
||||
'zip' => ['PHP extension ZipArchive (optional)', extension_loaded('zip')],
|
||||
'gd' => ['PHP extension GD (optional)', extension_loaded('gd')],
|
||||
'xmlw' => ['PHP extension XMLWriter (optional)', extension_loaded('xmlwriter')],
|
||||
'xsl' => ['PHP extension XSL (optional)', extension_loaded('xsl')],
|
||||
];
|
||||
if (!CLI) {
|
||||
?>
|
||||
<div class="jumbotron">
|
||||
|
|
@ -28,7 +28,7 @@ if (!CLI) {
|
|||
echo '<h3>Requirement check:</h3>';
|
||||
echo '<ul>';
|
||||
foreach ($requirements as $key => $value) {
|
||||
list($label, $result) = $value;
|
||||
[$label, $result] = $value;
|
||||
$status = $result ? 'passed' : 'failed';
|
||||
echo "<li>{$label} ... <span class='{$status}'>{$status}</span></li>";
|
||||
}
|
||||
|
|
@ -37,7 +37,7 @@ if (!CLI) {
|
|||
} else {
|
||||
echo 'Requirement check:' . PHP_EOL;
|
||||
foreach ($requirements as $key => $value) {
|
||||
list($label, $result) = $value;
|
||||
[$label, $result] = $value;
|
||||
$label = strip_tags($label);
|
||||
$status = $result ? '32m passed' : '31m failed';
|
||||
echo "{$label} ... \033[{$status}\033[0m" . PHP_EOL;
|
||||
|
|
|
|||
|
|
@ -11,28 +11,28 @@
|
|||
* contributors, visit https://github.com/PHPOffice/PHPWord/contributors.
|
||||
*
|
||||
* @see https://github.com/PHPOffice/PHPWord
|
||||
* @copyright 2010-2018 PHPWord contributors
|
||||
*
|
||||
* @license http://www.gnu.org/licenses/lgpl.txt LGPL version 3
|
||||
*/
|
||||
|
||||
namespace PhpOffice\PhpWord\Collection;
|
||||
|
||||
/**
|
||||
* Collection abstract class
|
||||
* Collection abstract class.
|
||||
*
|
||||
* @since 0.10.0
|
||||
*/
|
||||
abstract class AbstractCollection
|
||||
{
|
||||
/**
|
||||
* Items
|
||||
* Items.
|
||||
*
|
||||
* @var \PhpOffice\PhpWord\Element\AbstractContainer[]
|
||||
*/
|
||||
private $items = array();
|
||||
private $items = [];
|
||||
|
||||
/**
|
||||
* Get items
|
||||
* Get items.
|
||||
*
|
||||
* @return \PhpOffice\PhpWord\Element\AbstractContainer[]
|
||||
*/
|
||||
|
|
@ -42,9 +42,10 @@ abstract class AbstractCollection
|
|||
}
|
||||
|
||||
/**
|
||||
* Get item by index
|
||||
* Get item by index.
|
||||
*
|
||||
* @param int $index
|
||||
*
|
||||
* @return \PhpOffice\PhpWord\Element\AbstractContainer
|
||||
*/
|
||||
public function getItem($index)
|
||||
|
|
@ -62,7 +63,7 @@ abstract class AbstractCollection
|
|||
* @param int $index
|
||||
* @param \PhpOffice\PhpWord\Element\AbstractContainer $item
|
||||
*/
|
||||
public function setItem($index, $item)
|
||||
public function setItem($index, $item): void
|
||||
{
|
||||
if (array_key_exists($index, $this->items)) {
|
||||
$this->items[$index] = $item;
|
||||
|
|
@ -70,9 +71,10 @@ abstract class AbstractCollection
|
|||
}
|
||||
|
||||
/**
|
||||
* Add new item
|
||||
* Add new item.
|
||||
*
|
||||
* @param \PhpOffice\PhpWord\Element\AbstractContainer $item
|
||||
*
|
||||
* @return int
|
||||
*/
|
||||
public function addItem($item)
|
||||
|
|
@ -84,7 +86,7 @@ abstract class AbstractCollection
|
|||
}
|
||||
|
||||
/**
|
||||
* Get item count
|
||||
* Get item count.
|
||||
*
|
||||
* @return int
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -11,14 +11,14 @@
|
|||
* contributors, visit https://github.com/PHPOffice/PHPWord/contributors.
|
||||
*
|
||||
* @see https://github.com/PHPOffice/PHPWord
|
||||
* @copyright 2010-2018 PHPWord contributors
|
||||
*
|
||||
* @license http://www.gnu.org/licenses/lgpl.txt LGPL version 3
|
||||
*/
|
||||
|
||||
namespace PhpOffice\PhpWord\Collection;
|
||||
|
||||
/**
|
||||
* Bookmarks collection
|
||||
* Bookmarks collection.
|
||||
*
|
||||
* @since 0.12.0
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -11,14 +11,14 @@
|
|||
* contributors, visit https://github.com/PHPOffice/PHPWord/contributors.
|
||||
*
|
||||
* @see https://github.com/PHPOffice/PHPWord
|
||||
* @copyright 2010-2018 PHPWord contributors
|
||||
*
|
||||
* @license http://www.gnu.org/licenses/lgpl.txt LGPL version 3
|
||||
*/
|
||||
|
||||
namespace PhpOffice\PhpWord\Collection;
|
||||
|
||||
/**
|
||||
* Charts collection
|
||||
* Charts collection.
|
||||
*
|
||||
* @since 0.12.0
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -11,14 +11,14 @@
|
|||
* contributors, visit https://github.com/PHPOffice/PHPWord/contributors.
|
||||
*
|
||||
* @see https://github.com/PHPOffice/PHPWord
|
||||
* @copyright 2010-2018 PHPWord contributors
|
||||
*
|
||||
* @license http://www.gnu.org/licenses/lgpl.txt LGPL version 3
|
||||
*/
|
||||
|
||||
namespace PhpOffice\PhpWord\Collection;
|
||||
|
||||
/**
|
||||
* Comments collection
|
||||
* Comments collection.
|
||||
*
|
||||
* @since 0.12.0
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -11,14 +11,14 @@
|
|||
* contributors, visit https://github.com/PHPOffice/PHPWord/contributors.
|
||||
*
|
||||
* @see https://github.com/PHPOffice/PHPWord
|
||||
* @copyright 2010-2018 PHPWord contributors
|
||||
*
|
||||
* @license http://www.gnu.org/licenses/lgpl.txt LGPL version 3
|
||||
*/
|
||||
|
||||
namespace PhpOffice\PhpWord\Collection;
|
||||
|
||||
/**
|
||||
* Endnotes collection
|
||||
* Endnotes collection.
|
||||
*
|
||||
* @since 0.10.0
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -11,14 +11,14 @@
|
|||
* contributors, visit https://github.com/PHPOffice/PHPWord/contributors.
|
||||
*
|
||||
* @see https://github.com/PHPOffice/PHPWord
|
||||
* @copyright 2010-2018 PHPWord contributors
|
||||
*
|
||||
* @license http://www.gnu.org/licenses/lgpl.txt LGPL version 3
|
||||
*/
|
||||
|
||||
namespace PhpOffice\PhpWord\Collection;
|
||||
|
||||
/**
|
||||
* Footnotes collection
|
||||
* Footnotes collection.
|
||||
*
|
||||
* @since 0.10.0
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -11,14 +11,14 @@
|
|||
* contributors, visit https://github.com/PHPOffice/PHPWord/contributors.
|
||||
*
|
||||
* @see https://github.com/PHPOffice/PHPWord
|
||||
* @copyright 2010-2018 PHPWord contributors
|
||||
*
|
||||
* @license http://www.gnu.org/licenses/lgpl.txt LGPL version 3
|
||||
*/
|
||||
|
||||
namespace PhpOffice\PhpWord\Collection;
|
||||
|
||||
/**
|
||||
* Titles collection
|
||||
* Titles collection.
|
||||
*
|
||||
* @since 0.10.0
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -11,16 +11,17 @@
|
|||
* contributors, visit https://github.com/PHPOffice/PHPWord/contributors.
|
||||
*
|
||||
* @see https://github.com/PHPOffice/PHPWord
|
||||
* @copyright 2010-2018 PHPWord contributors
|
||||
*
|
||||
* @license http://www.gnu.org/licenses/lgpl.txt LGPL version 3
|
||||
*/
|
||||
|
||||
namespace PhpOffice\PhpWord\ComplexType;
|
||||
|
||||
use InvalidArgumentException;
|
||||
use PhpOffice\PhpWord\SimpleType\NumberFormat;
|
||||
|
||||
/**
|
||||
* Footnote properties
|
||||
* Footnote properties.
|
||||
*
|
||||
* @see http://www.datypic.com/sc/ooxml/e-w_footnotePr-1.html
|
||||
*/
|
||||
|
|
@ -36,35 +37,35 @@ final class FootnoteProperties
|
|||
const POSITION_DOC_END = 'docEnd';
|
||||
|
||||
/**
|
||||
* Footnote Positioning Location
|
||||
* Footnote Positioning Location.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
private $pos;
|
||||
|
||||
/**
|
||||
* Footnote Numbering Format w:numFmt, one of PhpOffice\PhpWord\SimpleType\NumberFormat
|
||||
* Footnote Numbering Format w:numFmt, one of PhpOffice\PhpWord\SimpleType\NumberFormat.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
private $numFmt;
|
||||
|
||||
/**
|
||||
* Footnote and Endnote Numbering Starting Value
|
||||
* Footnote and Endnote Numbering Starting Value.
|
||||
*
|
||||
* @var float
|
||||
*/
|
||||
private $numStart;
|
||||
|
||||
/**
|
||||
* Footnote and Endnote Numbering Restart Location
|
||||
* Footnote and Endnote Numbering Restart Location.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
private $numRestart;
|
||||
|
||||
/**
|
||||
* Get the Footnote Positioning Location
|
||||
* Get the Footnote Positioning Location.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
|
|
@ -74,32 +75,32 @@ final class FootnoteProperties
|
|||
}
|
||||
|
||||
/**
|
||||
* Set the Footnote Positioning Location (pageBottom, beneathText, sectEnd, docEnd)
|
||||
* Set the Footnote Positioning Location (pageBottom, beneathText, sectEnd, docEnd).
|
||||
*
|
||||
* @param string $pos
|
||||
* @throws \InvalidArgumentException
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
public function setPos($pos)
|
||||
{
|
||||
$position = array(
|
||||
$position = [
|
||||
self::POSITION_PAGE_BOTTOM,
|
||||
self::POSITION_BENEATH_TEXT,
|
||||
self::POSITION_SECTION_END,
|
||||
self::POSITION_DOC_END,
|
||||
);
|
||||
];
|
||||
|
||||
if (in_array($pos, $position)) {
|
||||
$this->pos = $pos;
|
||||
} else {
|
||||
throw new \InvalidArgumentException('Invalid value, on of ' . implode(', ', $position) . ' possible');
|
||||
throw new InvalidArgumentException('Invalid value, on of ' . implode(', ', $position) . ' possible');
|
||||
}
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the Footnote Numbering Format
|
||||
* Get the Footnote Numbering Format.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
|
|
@ -109,9 +110,10 @@ final class FootnoteProperties
|
|||
}
|
||||
|
||||
/**
|
||||
* Set the Footnote Numbering Format
|
||||
* Set the Footnote Numbering Format.
|
||||
*
|
||||
* @param string $numFmt One of NumberFormat
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
public function setNumFmt($numFmt)
|
||||
|
|
@ -123,7 +125,7 @@ final class FootnoteProperties
|
|||
}
|
||||
|
||||
/**
|
||||
* Get the Footnote Numbering Format
|
||||
* Get the Footnote Numbering Format.
|
||||
*
|
||||
* @return float
|
||||
*/
|
||||
|
|
@ -133,9 +135,10 @@ final class FootnoteProperties
|
|||
}
|
||||
|
||||
/**
|
||||
* Set the Footnote Numbering Format
|
||||
* Set the Footnote Numbering Format.
|
||||
*
|
||||
* @param float $numStart
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
public function setNumStart($numStart)
|
||||
|
|
@ -146,7 +149,7 @@ final class FootnoteProperties
|
|||
}
|
||||
|
||||
/**
|
||||
* Get the Footnote and Endnote Numbering Starting Value
|
||||
* Get the Footnote and Endnote Numbering Starting Value.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
|
|
@ -156,24 +159,24 @@ final class FootnoteProperties
|
|||
}
|
||||
|
||||
/**
|
||||
* Set the Footnote and Endnote Numbering Starting Value (continuous, eachSect, eachPage)
|
||||
* Set the Footnote and Endnote Numbering Starting Value (continuous, eachSect, eachPage).
|
||||
*
|
||||
* @param string $numRestart
|
||||
* @throws \InvalidArgumentException
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
public function setNumRestart($numRestart)
|
||||
{
|
||||
$restartNumbers = array(
|
||||
$restartNumbers = [
|
||||
self::RESTART_NUMBER_CONTINUOUS,
|
||||
self::RESTART_NUMBER_EACH_SECTION,
|
||||
self::RESTART_NUMBER_EACH_PAGE,
|
||||
);
|
||||
];
|
||||
|
||||
if (in_array($numRestart, $restartNumbers)) {
|
||||
$this->numRestart = $numRestart;
|
||||
} else {
|
||||
throw new \InvalidArgumentException('Invalid value, on of ' . implode(', ', $restartNumbers) . ' possible');
|
||||
throw new InvalidArgumentException('Invalid value, on of ' . implode(', ', $restartNumbers) . ' possible');
|
||||
}
|
||||
|
||||
return $this;
|
||||
|
|
|
|||
|
|
@ -11,48 +11,50 @@
|
|||
* contributors, visit https://github.com/PHPOffice/PHPWord/contributors.
|
||||
*
|
||||
* @see https://github.com/PHPOffice/PHPWord
|
||||
* @copyright 2010-2018 PHPWord contributors
|
||||
*
|
||||
* @license http://www.gnu.org/licenses/lgpl.txt LGPL version 3
|
||||
*/
|
||||
|
||||
namespace PhpOffice\PhpWord\ComplexType;
|
||||
|
||||
use InvalidArgumentException;
|
||||
|
||||
/**
|
||||
* Spelling and Grammatical Checking State
|
||||
* Spelling and Grammatical Checking State.
|
||||
*
|
||||
* @see http://www.datypic.com/sc/ooxml/e-w_proofState-1.html
|
||||
*/
|
||||
final class ProofState
|
||||
{
|
||||
/**
|
||||
* Check Completed
|
||||
* Check Completed.
|
||||
*/
|
||||
const CLEAN = 'clean';
|
||||
|
||||
/**
|
||||
* Check Not Completed
|
||||
* Check Not Completed.
|
||||
*/
|
||||
const DIRTY = 'dirty';
|
||||
|
||||
/**
|
||||
* Spell Checking State
|
||||
* Spell Checking State.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
private $spelling;
|
||||
|
||||
/**
|
||||
* Grammatical Checking State
|
||||
* Grammatical Checking State.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
private $grammar;
|
||||
|
||||
/**
|
||||
* Set the Spell Checking State (dirty or clean)
|
||||
* Set the Spell Checking State (dirty or clean).
|
||||
*
|
||||
* @param string $spelling
|
||||
* @throws \InvalidArgumentException
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
public function setSpelling($spelling)
|
||||
|
|
@ -60,14 +62,14 @@ final class ProofState
|
|||
if ($spelling == self::CLEAN || $spelling == self::DIRTY) {
|
||||
$this->spelling = $spelling;
|
||||
} else {
|
||||
throw new \InvalidArgumentException('Invalid value, dirty or clean possible');
|
||||
throw new InvalidArgumentException('Invalid value, dirty or clean possible');
|
||||
}
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the Spell Checking State
|
||||
* Get the Spell Checking State.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
|
|
@ -77,10 +79,10 @@ final class ProofState
|
|||
}
|
||||
|
||||
/**
|
||||
* Set the Grammatical Checking State (dirty or clean)
|
||||
* Set the Grammatical Checking State (dirty or clean).
|
||||
*
|
||||
* @param string $grammar
|
||||
* @throws \InvalidArgumentException
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
public function setGrammar($grammar)
|
||||
|
|
@ -88,14 +90,14 @@ final class ProofState
|
|||
if ($grammar == self::CLEAN || $grammar == self::DIRTY) {
|
||||
$this->grammar = $grammar;
|
||||
} else {
|
||||
throw new \InvalidArgumentException('Invalid value, dirty or clean possible');
|
||||
throw new InvalidArgumentException('Invalid value, dirty or clean possible');
|
||||
}
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the Grammatical Checking State
|
||||
* Get the Grammatical Checking State.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@
|
|||
* contributors, visit https://github.com/PHPOffice/PHPWord/contributors.
|
||||
*
|
||||
* @see https://github.com/PHPOffice/PHPWord
|
||||
* @copyright 2010-2018 PHPWord contributors
|
||||
*
|
||||
* @license http://www.gnu.org/licenses/lgpl.txt LGPL version 3
|
||||
*/
|
||||
|
||||
|
|
|
|||
|
|
@ -11,56 +11,56 @@
|
|||
* contributors, visit https://github.com/PHPOffice/PHPWord/contributors.
|
||||
*
|
||||
* @see https://github.com/PHPOffice/PHPWord
|
||||
* @copyright 2010-2018 PHPWord contributors
|
||||
*
|
||||
* @license http://www.gnu.org/licenses/lgpl.txt LGPL version 3
|
||||
*/
|
||||
|
||||
namespace PhpOffice\PhpWord\ComplexType;
|
||||
|
||||
/**
|
||||
* Visibility of Annotation Types
|
||||
* Visibility of Annotation Types.
|
||||
*
|
||||
* @see http://www.datypic.com/sc/ooxml/e-w_revisionView-1.html
|
||||
*/
|
||||
final class TrackChangesView
|
||||
{
|
||||
/**
|
||||
* Display Visual Indicator Of Markup Area
|
||||
* Display Visual Indicator Of Markup Area.
|
||||
*
|
||||
* @var bool
|
||||
*/
|
||||
private $markup;
|
||||
|
||||
/**
|
||||
* Display Comments
|
||||
* Display Comments.
|
||||
*
|
||||
* @var bool
|
||||
*/
|
||||
private $comments;
|
||||
|
||||
/**
|
||||
* Display Content Revisions
|
||||
* Display Content Revisions.
|
||||
*
|
||||
* @var bool
|
||||
*/
|
||||
private $insDel;
|
||||
|
||||
/**
|
||||
* Display Formatting Revisions
|
||||
* Display Formatting Revisions.
|
||||
*
|
||||
* @var bool
|
||||
*/
|
||||
private $formatting;
|
||||
|
||||
/**
|
||||
* Display Ink Annotations
|
||||
* Display Ink Annotations.
|
||||
*
|
||||
* @var bool
|
||||
*/
|
||||
private $inkAnnotations;
|
||||
|
||||
/**
|
||||
* Get Display Visual Indicator Of Markup Area
|
||||
* Get Display Visual Indicator Of Markup Area.
|
||||
*
|
||||
* @return bool True if markup is shown
|
||||
*/
|
||||
|
|
@ -70,18 +70,18 @@ final class TrackChangesView
|
|||
}
|
||||
|
||||
/**
|
||||
* Set Display Visual Indicator Of Markup Area
|
||||
* Set Display Visual Indicator Of Markup Area.
|
||||
*
|
||||
* @param bool $markup
|
||||
* Set to true to show markup
|
||||
*/
|
||||
public function setMarkup($markup)
|
||||
public function setMarkup($markup): void
|
||||
{
|
||||
$this->markup = $markup === null ? true : $markup;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get Display Comments
|
||||
* Get Display Comments.
|
||||
*
|
||||
* @return bool True if comments are shown
|
||||
*/
|
||||
|
|
@ -91,18 +91,18 @@ final class TrackChangesView
|
|||
}
|
||||
|
||||
/**
|
||||
* Set Display Comments
|
||||
* Set Display Comments.
|
||||
*
|
||||
* @param bool $comments
|
||||
* Set to true to show comments
|
||||
*/
|
||||
public function setComments($comments)
|
||||
public function setComments($comments): void
|
||||
{
|
||||
$this->comments = $comments === null ? true : $comments;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get Display Content Revisions
|
||||
* Get Display Content Revisions.
|
||||
*
|
||||
* @return bool True if content revisions are shown
|
||||
*/
|
||||
|
|
@ -112,18 +112,18 @@ final class TrackChangesView
|
|||
}
|
||||
|
||||
/**
|
||||
* Set Display Content Revisions
|
||||
* Set Display Content Revisions.
|
||||
*
|
||||
* @param bool $insDel
|
||||
* Set to true to show content revisions
|
||||
*/
|
||||
public function setInsDel($insDel)
|
||||
public function setInsDel($insDel): void
|
||||
{
|
||||
$this->insDel = $insDel === null ? true : $insDel;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get Display Formatting Revisions
|
||||
* Get Display Formatting Revisions.
|
||||
*
|
||||
* @return bool True if formatting revisions are shown
|
||||
*/
|
||||
|
|
@ -133,18 +133,18 @@ final class TrackChangesView
|
|||
}
|
||||
|
||||
/**
|
||||
* Set Display Formatting Revisions
|
||||
* Set Display Formatting Revisions.
|
||||
*
|
||||
* @param bool|null $formatting
|
||||
* @param null|bool $formatting
|
||||
* Set to true to show formatting revisions
|
||||
*/
|
||||
public function setFormatting($formatting = null)
|
||||
public function setFormatting($formatting = null): void
|
||||
{
|
||||
$this->formatting = $formatting === null ? true : $formatting;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get Display Ink Annotations
|
||||
* Get Display Ink Annotations.
|
||||
*
|
||||
* @return bool True if ink annotations are shown
|
||||
*/
|
||||
|
|
@ -154,12 +154,12 @@ final class TrackChangesView
|
|||
}
|
||||
|
||||
/**
|
||||
* Set Display Ink Annotations
|
||||
* Set Display Ink Annotations.
|
||||
*
|
||||
* @param bool $inkAnnotations
|
||||
* Set to true to show ink annotations
|
||||
*/
|
||||
public function setInkAnnotations($inkAnnotations)
|
||||
public function setInkAnnotations($inkAnnotations): void
|
||||
{
|
||||
$this->inkAnnotations = $inkAnnotations === null ? true : $inkAnnotations;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,14 +11,17 @@
|
|||
* contributors, visit https://github.com/PHPOffice/PHPWord/contributors.
|
||||
*
|
||||
* @see https://github.com/PHPOffice/PHPWord
|
||||
* @copyright 2010-2018 PHPWord contributors
|
||||
*
|
||||
* @license http://www.gnu.org/licenses/lgpl.txt LGPL version 3
|
||||
*/
|
||||
|
||||
namespace PhpOffice\PhpWord\Element;
|
||||
|
||||
use BadMethodCallException;
|
||||
use ReflectionClass;
|
||||
|
||||
/**
|
||||
* Container abstract class
|
||||
* Container abstract class.
|
||||
*
|
||||
* @method Text addText(string $text, mixed $fStyle = null, mixed $pStyle = null)
|
||||
* @method TextRun addTextRun(mixed $pStyle = null)
|
||||
|
|
@ -44,7 +47,6 @@ namespace PhpOffice\PhpWord\Element;
|
|||
* @method Chart addChart(string $type, array $categories, array $values, array $style = null, $seriesName = null)
|
||||
* @method FormField addFormField(string $type, mixed $fStyle = null, mixed $pStyle = null)
|
||||
* @method SDT addSDT(string $type)
|
||||
*
|
||||
* @method \PhpOffice\PhpWord\Element\OLEObject addObject(string $source, mixed $style = null) deprecated, use addOLEObject instead
|
||||
*
|
||||
* @since 0.10.0
|
||||
|
|
@ -52,21 +54,21 @@ namespace PhpOffice\PhpWord\Element;
|
|||
abstract class AbstractContainer extends AbstractElement
|
||||
{
|
||||
/**
|
||||
* Elements collection
|
||||
* Elements collection.
|
||||
*
|
||||
* @var \PhpOffice\PhpWord\Element\AbstractElement[]
|
||||
*/
|
||||
protected $elements = array();
|
||||
protected $elements = [];
|
||||
|
||||
/**
|
||||
* Container type Section|Header|Footer|Footnote|Endnote|Cell|TextRun|TextBox|ListItemRun|TrackChange
|
||||
* Container type Section|Header|Footer|Footnote|Endnote|Cell|TextRun|TextBox|ListItemRun|TrackChange.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $container;
|
||||
|
||||
/**
|
||||
* Magic method to catch all 'addElement' variation
|
||||
* Magic method to catch all 'addElement' variation.
|
||||
*
|
||||
* This removes addText, addTextRun, etc. When adding new element, we have to
|
||||
* add the model in the class docblock with `@method`.
|
||||
|
|
@ -75,18 +77,19 @@ abstract class AbstractContainer extends AbstractElement
|
|||
*
|
||||
* @param mixed $function
|
||||
* @param mixed $args
|
||||
*
|
||||
* @return \PhpOffice\PhpWord\Element\AbstractElement
|
||||
*/
|
||||
public function __call($function, $args)
|
||||
{
|
||||
$elements = array(
|
||||
$elements = [
|
||||
'Text', 'TextRun', 'Bookmark', 'Link', 'PreserveText', 'TextBreak',
|
||||
'ListItem', 'ListItemRun', 'Table', 'Image', 'Object', 'OLEObject',
|
||||
'Footnote', 'Endnote', 'CheckBox', 'TextBox', 'Field',
|
||||
'Line', 'Shape', 'Title', 'TOC', 'PageBreak',
|
||||
'Chart', 'FormField', 'SDT', 'Comment',
|
||||
);
|
||||
$functions = array();
|
||||
];
|
||||
$functions = [];
|
||||
foreach ($elements as $element) {
|
||||
$functions['add' . strtolower($element)] = $element == 'Object' ? 'OLEObject' : $element;
|
||||
}
|
||||
|
|
@ -99,18 +102,18 @@ abstract class AbstractContainer extends AbstractElement
|
|||
// Special case for TextBreak
|
||||
// @todo Remove the `$count` parameter in 1.0.0 to make this element similiar to other elements?
|
||||
if ($element == 'TextBreak') {
|
||||
list($count, $fontStyle, $paragraphStyle) = array_pad($args, 3, null);
|
||||
[$count, $fontStyle, $paragraphStyle] = array_pad($args, 3, null);
|
||||
if ($count === null) {
|
||||
$count = 1;
|
||||
}
|
||||
for ($i = 1; $i <= $count; $i++) {
|
||||
for ($i = 1; $i <= $count; ++$i) {
|
||||
$this->addElement($element, $fontStyle, $paragraphStyle);
|
||||
}
|
||||
} else {
|
||||
// All other elements
|
||||
array_unshift($args, $element); // Prepend element name to the beginning of args array
|
||||
|
||||
return call_user_func_array(array($this, 'addElement'), $args);
|
||||
return call_user_func_array([$this, 'addElement'], $args);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -118,11 +121,12 @@ abstract class AbstractContainer extends AbstractElement
|
|||
}
|
||||
|
||||
/**
|
||||
* Add element
|
||||
* Add element.
|
||||
*
|
||||
* Each element has different number of parameters passed
|
||||
*
|
||||
* @param string $elementName
|
||||
*
|
||||
* @return \PhpOffice\PhpWord\Element\AbstractElement
|
||||
*/
|
||||
protected function addElement($elementName)
|
||||
|
|
@ -132,13 +136,13 @@ abstract class AbstractContainer extends AbstractElement
|
|||
|
||||
// Get arguments
|
||||
$args = func_get_args();
|
||||
$withoutP = in_array($this->container, array('TextRun', 'Footnote', 'Endnote', 'ListItemRun', 'Field'));
|
||||
$withoutP = in_array($this->container, ['TextRun', 'Footnote', 'Endnote', 'ListItemRun', 'Field']);
|
||||
if ($withoutP && ($elementName == 'Text' || $elementName == 'PreserveText')) {
|
||||
$args[3] = null; // Remove paragraph style for texts in textrun
|
||||
}
|
||||
|
||||
// Create element using reflection
|
||||
$reflection = new \ReflectionClass($elementClass);
|
||||
$reflection = new ReflectionClass($elementClass);
|
||||
$elementArgs = $args;
|
||||
array_shift($elementArgs); // Shift the $elementName off the beginning of array
|
||||
|
||||
|
|
@ -156,7 +160,7 @@ abstract class AbstractContainer extends AbstractElement
|
|||
}
|
||||
|
||||
/**
|
||||
* Get all elements
|
||||
* Get all elements.
|
||||
*
|
||||
* @return \PhpOffice\PhpWord\Element\AbstractElement[]
|
||||
*/
|
||||
|
|
@ -166,10 +170,11 @@ abstract class AbstractContainer extends AbstractElement
|
|||
}
|
||||
|
||||
/**
|
||||
* Returns the element at the requested position
|
||||
* Returns the element at the requested position.
|
||||
*
|
||||
* @param int $index
|
||||
* @return \PhpOffice\PhpWord\Element\AbstractElement|null
|
||||
*
|
||||
* @return null|\PhpOffice\PhpWord\Element\AbstractElement
|
||||
*/
|
||||
public function getElement($index)
|
||||
{
|
||||
|
|
@ -181,11 +186,11 @@ abstract class AbstractContainer extends AbstractElement
|
|||
}
|
||||
|
||||
/**
|
||||
* Removes the element at requested index
|
||||
* Removes the element at requested index.
|
||||
*
|
||||
* @param int|\PhpOffice\PhpWord\Element\AbstractElement $toRemove
|
||||
*/
|
||||
public function removeElement($toRemove)
|
||||
public function removeElement($toRemove): void
|
||||
{
|
||||
if (is_int($toRemove) && array_key_exists($toRemove, $this->elements)) {
|
||||
unset($this->elements[$toRemove]);
|
||||
|
|
@ -201,7 +206,7 @@ abstract class AbstractContainer extends AbstractElement
|
|||
}
|
||||
|
||||
/**
|
||||
* Count elements
|
||||
* Count elements.
|
||||
*
|
||||
* @return int
|
||||
*/
|
||||
|
|
@ -211,59 +216,58 @@ abstract class AbstractContainer extends AbstractElement
|
|||
}
|
||||
|
||||
/**
|
||||
* Check if a method is allowed for the current container
|
||||
* Check if a method is allowed for the current container.
|
||||
*
|
||||
* @param string $method
|
||||
*
|
||||
* @throws \BadMethodCallException
|
||||
* @return bool
|
||||
*/
|
||||
private function checkValidity($method)
|
||||
{
|
||||
$generalContainers = array(
|
||||
$generalContainers = [
|
||||
'Section', 'Header', 'Footer', 'Footnote', 'Endnote', 'Cell', 'TextRun', 'TextBox', 'ListItemRun', 'TrackChange',
|
||||
);
|
||||
];
|
||||
|
||||
$validContainers = array(
|
||||
'Text' => $generalContainers,
|
||||
'Bookmark' => $generalContainers,
|
||||
'Link' => $generalContainers,
|
||||
'TextBreak' => $generalContainers,
|
||||
'Image' => $generalContainers,
|
||||
'OLEObject' => $generalContainers,
|
||||
'Field' => $generalContainers,
|
||||
'Line' => $generalContainers,
|
||||
'Shape' => $generalContainers,
|
||||
'FormField' => $generalContainers,
|
||||
'SDT' => $generalContainers,
|
||||
'TrackChange' => $generalContainers,
|
||||
'TextRun' => array('Section', 'Header', 'Footer', 'Cell', 'TextBox', 'TrackChange', 'ListItemRun'),
|
||||
'ListItem' => array('Section', 'Header', 'Footer', 'Cell', 'TextBox'),
|
||||
'ListItemRun' => array('Section', 'Header', 'Footer', 'Cell', 'TextBox'),
|
||||
'Table' => array('Section', 'Header', 'Footer', 'Cell', 'TextBox'),
|
||||
'CheckBox' => array('Section', 'Header', 'Footer', 'Cell', 'TextRun'),
|
||||
'TextBox' => array('Section', 'Header', 'Footer', 'Cell'),
|
||||
'Footnote' => array('Section', 'TextRun', 'Cell', 'ListItemRun'),
|
||||
'Endnote' => array('Section', 'TextRun', 'Cell'),
|
||||
'PreserveText' => array('Section', 'Header', 'Footer', 'Cell'),
|
||||
'Title' => array('Section', 'Cell'),
|
||||
'TOC' => array('Section'),
|
||||
'PageBreak' => array('Section'),
|
||||
'Chart' => array('Section', 'Cell'),
|
||||
);
|
||||
$validContainers = [
|
||||
'Text' => $generalContainers,
|
||||
'Bookmark' => $generalContainers,
|
||||
'Link' => $generalContainers,
|
||||
'TextBreak' => $generalContainers,
|
||||
'Image' => $generalContainers,
|
||||
'OLEObject' => $generalContainers,
|
||||
'Field' => $generalContainers,
|
||||
'Line' => $generalContainers,
|
||||
'Shape' => $generalContainers,
|
||||
'FormField' => $generalContainers,
|
||||
'SDT' => $generalContainers,
|
||||
'TrackChange' => $generalContainers,
|
||||
'TextRun' => ['Section', 'Header', 'Footer', 'Cell', 'TextBox', 'TrackChange', 'ListItemRun'],
|
||||
'ListItem' => ['Section', 'Header', 'Footer', 'Cell', 'TextBox'],
|
||||
'ListItemRun' => ['Section', 'Header', 'Footer', 'Cell', 'TextBox'],
|
||||
'Table' => ['Section', 'Header', 'Footer', 'Cell', 'TextBox'],
|
||||
'CheckBox' => ['Section', 'Header', 'Footer', 'Cell', 'TextRun'],
|
||||
'TextBox' => ['Section', 'Header', 'Footer', 'Cell'],
|
||||
'Footnote' => ['Section', 'TextRun', 'Cell', 'ListItemRun'],
|
||||
'Endnote' => ['Section', 'TextRun', 'Cell'],
|
||||
'PreserveText' => ['Section', 'Header', 'Footer', 'Cell'],
|
||||
'Title' => ['Section', 'Cell'],
|
||||
'TOC' => ['Section'],
|
||||
'PageBreak' => ['Section'],
|
||||
'Chart' => ['Section', 'Cell'],
|
||||
];
|
||||
|
||||
// Special condition, e.g. preservetext can only exists in cell when
|
||||
// the cell is located in header or footer
|
||||
$validSubcontainers = array(
|
||||
'PreserveText' => array(array('Cell'), array('Header', 'Footer', 'Section')),
|
||||
'Footnote' => array(array('Cell', 'TextRun'), array('Section')),
|
||||
'Endnote' => array(array('Cell', 'TextRun'), array('Section')),
|
||||
);
|
||||
$validSubcontainers = [
|
||||
'PreserveText' => [['Cell'], ['Header', 'Footer', 'Section']],
|
||||
'Footnote' => [['Cell', 'TextRun'], ['Section']],
|
||||
'Endnote' => [['Cell', 'TextRun'], ['Section']],
|
||||
];
|
||||
|
||||
// Check if a method is valid for current container
|
||||
if (isset($validContainers[$method])) {
|
||||
if (!in_array($this->container, $validContainers[$method])) {
|
||||
throw new \BadMethodCallException("Cannot add {$method} in {$this->container}.");
|
||||
throw new BadMethodCallException("Cannot add {$method} in {$this->container}.");
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -274,7 +278,7 @@ abstract class AbstractContainer extends AbstractElement
|
|||
$allowedDocParts = $rules[1];
|
||||
foreach ($containers as $container) {
|
||||
if ($this->container == $container && !in_array($this->getDocPart(), $allowedDocParts)) {
|
||||
throw new \BadMethodCallException("Cannot add {$method} in {$this->container}.");
|
||||
throw new BadMethodCallException("Cannot add {$method} in {$this->container}.");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -283,7 +287,7 @@ abstract class AbstractContainer extends AbstractElement
|
|||
}
|
||||
|
||||
/**
|
||||
* Create textrun element
|
||||
* Create textrun element.
|
||||
*
|
||||
* @deprecated 0.10.0
|
||||
*
|
||||
|
|
@ -299,7 +303,7 @@ abstract class AbstractContainer extends AbstractElement
|
|||
}
|
||||
|
||||
/**
|
||||
* Create footnote element
|
||||
* Create footnote element.
|
||||
*
|
||||
* @deprecated 0.10.0
|
||||
*
|
||||
|
|
|
|||
|
|
@ -11,38 +11,40 @@
|
|||
* contributors, visit https://github.com/PHPOffice/PHPWord/contributors.
|
||||
*
|
||||
* @see https://github.com/PHPOffice/PHPWord
|
||||
* @copyright 2010-2018 PHPWord contributors
|
||||
*
|
||||
* @license http://www.gnu.org/licenses/lgpl.txt LGPL version 3
|
||||
*/
|
||||
|
||||
namespace PhpOffice\PhpWord\Element;
|
||||
|
||||
use DateTime;
|
||||
use InvalidArgumentException;
|
||||
use PhpOffice\PhpWord\Media;
|
||||
use PhpOffice\PhpWord\PhpWord;
|
||||
|
||||
/**
|
||||
* Element abstract class
|
||||
* Element abstract class.
|
||||
*
|
||||
* @since 0.10.0
|
||||
*/
|
||||
abstract class AbstractElement
|
||||
{
|
||||
/**
|
||||
* PhpWord object
|
||||
* PhpWord object.
|
||||
*
|
||||
* @var \PhpOffice\PhpWord\PhpWord
|
||||
*/
|
||||
protected $phpWord;
|
||||
|
||||
/**
|
||||
* Section Id
|
||||
* Section Id.
|
||||
*
|
||||
* @var int
|
||||
*/
|
||||
protected $sectionId;
|
||||
|
||||
/**
|
||||
* Document part type: Section|Header|Footer|Footnote|Endnote
|
||||
* Document part type: Section|Header|Footer|Footnote|Endnote.
|
||||
*
|
||||
* Used by textrun and cell container to determine where the element is
|
||||
* located because it will affect the availability of other element,
|
||||
|
|
@ -53,7 +55,7 @@ abstract class AbstractElement
|
|||
protected $docPart = 'Section';
|
||||
|
||||
/**
|
||||
* Document part Id
|
||||
* Document part Id.
|
||||
*
|
||||
* For header and footer, this will be = ($sectionId - 1) * 3 + $index
|
||||
* because the max number of header/footer in every page is 3, i.e.
|
||||
|
|
@ -64,28 +66,28 @@ abstract class AbstractElement
|
|||
protected $docPartId = 1;
|
||||
|
||||
/**
|
||||
* Index of element in the elements collection (start with 1)
|
||||
* Index of element in the elements collection (start with 1).
|
||||
*
|
||||
* @var int
|
||||
*/
|
||||
protected $elementIndex = 1;
|
||||
|
||||
/**
|
||||
* Unique Id for element
|
||||
* Unique Id for element.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $elementId;
|
||||
|
||||
/**
|
||||
* Relation Id
|
||||
* Relation Id.
|
||||
*
|
||||
* @var int
|
||||
*/
|
||||
protected $relationId;
|
||||
|
||||
/**
|
||||
* Depth of table container nested level; Primarily used for RTF writer/reader
|
||||
* Depth of table container nested level; Primarily used for RTF writer/reader.
|
||||
*
|
||||
* 0 = Not in a table; 1 = in a table; 2 = in a table inside another table, etc.
|
||||
*
|
||||
|
|
@ -94,56 +96,56 @@ abstract class AbstractElement
|
|||
private $nestedLevel = 0;
|
||||
|
||||
/**
|
||||
* A reference to the parent
|
||||
* A reference to the parent.
|
||||
*
|
||||
* @var AbstractElement|null
|
||||
* @var null|AbstractElement
|
||||
*/
|
||||
private $parent;
|
||||
|
||||
/**
|
||||
* changed element info
|
||||
* changed element info.
|
||||
*
|
||||
* @var TrackChange
|
||||
*/
|
||||
private $trackChange;
|
||||
|
||||
/**
|
||||
* Parent container type
|
||||
* Parent container type.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
private $parentContainer;
|
||||
|
||||
/**
|
||||
* Has media relation flag; true for Link, Image, and Object
|
||||
* Has media relation flag; true for Link, Image, and Object.
|
||||
*
|
||||
* @var bool
|
||||
*/
|
||||
protected $mediaRelation = false;
|
||||
|
||||
/**
|
||||
* Is part of collection; true for Title, Footnote, Endnote, Chart, and Comment
|
||||
* Is part of collection; true for Title, Footnote, Endnote, Chart, and Comment.
|
||||
*
|
||||
* @var bool
|
||||
*/
|
||||
protected $collectionRelation = false;
|
||||
|
||||
/**
|
||||
* The start position for the linked comment
|
||||
* The start position for the linked comment.
|
||||
*
|
||||
* @var Comment
|
||||
*/
|
||||
protected $commentRangeStart;
|
||||
|
||||
/**
|
||||
* The end position for the linked comment
|
||||
* The end position for the linked comment.
|
||||
*
|
||||
* @var Comment
|
||||
*/
|
||||
protected $commentRangeEnd;
|
||||
|
||||
/**
|
||||
* Get PhpWord
|
||||
* Get PhpWord.
|
||||
*
|
||||
* @return \PhpOffice\PhpWord\PhpWord
|
||||
*/
|
||||
|
|
@ -157,13 +159,13 @@ abstract class AbstractElement
|
|||
*
|
||||
* @param \PhpOffice\PhpWord\PhpWord $phpWord
|
||||
*/
|
||||
public function setPhpWord(PhpWord $phpWord = null)
|
||||
public function setPhpWord(?PhpWord $phpWord = null): void
|
||||
{
|
||||
$this->phpWord = $phpWord;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get section number
|
||||
* Get section number.
|
||||
*
|
||||
* @return int
|
||||
*/
|
||||
|
|
@ -178,14 +180,14 @@ abstract class AbstractElement
|
|||
* @param string $docPart
|
||||
* @param int $docPartId
|
||||
*/
|
||||
public function setDocPart($docPart, $docPartId = 1)
|
||||
public function setDocPart($docPart, $docPartId = 1): void
|
||||
{
|
||||
$this->docPart = $docPart;
|
||||
$this->docPartId = $docPartId;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get doc part
|
||||
* Get doc part.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
|
|
@ -195,7 +197,7 @@ abstract class AbstractElement
|
|||
}
|
||||
|
||||
/**
|
||||
* Get doc part Id
|
||||
* Get doc part Id.
|
||||
*
|
||||
* @return int
|
||||
*/
|
||||
|
|
@ -205,7 +207,7 @@ abstract class AbstractElement
|
|||
}
|
||||
|
||||
/**
|
||||
* Return media element (image, object, link) container name
|
||||
* Return media element (image, object, link) container name.
|
||||
*
|
||||
* @return string section|headerx|footerx|footnote|endnote
|
||||
*/
|
||||
|
|
@ -220,7 +222,7 @@ abstract class AbstractElement
|
|||
}
|
||||
|
||||
/**
|
||||
* Get element index
|
||||
* Get element index.
|
||||
*
|
||||
* @return int
|
||||
*/
|
||||
|
|
@ -234,13 +236,13 @@ abstract class AbstractElement
|
|||
*
|
||||
* @param int $value
|
||||
*/
|
||||
public function setElementIndex($value)
|
||||
public function setElementIndex($value): void
|
||||
{
|
||||
$this->elementIndex = $value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get element unique ID
|
||||
* Get element unique ID.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
|
|
@ -252,13 +254,13 @@ abstract class AbstractElement
|
|||
/**
|
||||
* Set element unique ID from 6 first digit of md5.
|
||||
*/
|
||||
public function setElementId()
|
||||
public function setElementId(): void
|
||||
{
|
||||
$this->elementId = substr(md5(rand()), 0, 6);
|
||||
$this->elementId = substr(md5(mt_rand()), 0, 6);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get relation Id
|
||||
* Get relation Id.
|
||||
*
|
||||
* @return int
|
||||
*/
|
||||
|
|
@ -272,13 +274,13 @@ abstract class AbstractElement
|
|||
*
|
||||
* @param int $value
|
||||
*/
|
||||
public function setRelationId($value)
|
||||
public function setRelationId($value): void
|
||||
{
|
||||
$this->relationId = $value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get nested level
|
||||
* Get nested level.
|
||||
*
|
||||
* @return int
|
||||
*/
|
||||
|
|
@ -288,7 +290,7 @@ abstract class AbstractElement
|
|||
}
|
||||
|
||||
/**
|
||||
* Get comment start
|
||||
* Get comment start.
|
||||
*
|
||||
* @return Comment
|
||||
*/
|
||||
|
|
@ -298,21 +300,19 @@ abstract class AbstractElement
|
|||
}
|
||||
|
||||
/**
|
||||
* Set comment start
|
||||
*
|
||||
* @param Comment $value
|
||||
* Set comment start.
|
||||
*/
|
||||
public function setCommentRangeStart(Comment $value)
|
||||
public function setCommentRangeStart(Comment $value): void
|
||||
{
|
||||
if ($this instanceof Comment) {
|
||||
throw new \InvalidArgumentException('Cannot set a Comment on a Comment');
|
||||
throw new InvalidArgumentException('Cannot set a Comment on a Comment');
|
||||
}
|
||||
$this->commentRangeStart = $value;
|
||||
$this->commentRangeStart->setStartElement($this);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get comment end
|
||||
* Get comment end.
|
||||
*
|
||||
* @return Comment
|
||||
*/
|
||||
|
|
@ -322,23 +322,21 @@ abstract class AbstractElement
|
|||
}
|
||||
|
||||
/**
|
||||
* Set comment end
|
||||
*
|
||||
* @param Comment $value
|
||||
* Set comment end.
|
||||
*/
|
||||
public function setCommentRangeEnd(Comment $value)
|
||||
public function setCommentRangeEnd(Comment $value): void
|
||||
{
|
||||
if ($this instanceof Comment) {
|
||||
throw new \InvalidArgumentException('Cannot set a Comment on a Comment');
|
||||
throw new InvalidArgumentException('Cannot set a Comment on a Comment');
|
||||
}
|
||||
$this->commentRangeEnd = $value;
|
||||
$this->commentRangeEnd->setEndElement($this);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get parent element
|
||||
* Get parent element.
|
||||
*
|
||||
* @return AbstractElement|null
|
||||
* @return null|AbstractElement
|
||||
*/
|
||||
public function getParent()
|
||||
{
|
||||
|
|
@ -346,13 +344,13 @@ abstract class AbstractElement
|
|||
}
|
||||
|
||||
/**
|
||||
* Set parent container
|
||||
* Set parent container.
|
||||
*
|
||||
* Passed parameter should be a container, except for Table (contain Row) and Row (contain Cell)
|
||||
*
|
||||
* @param \PhpOffice\PhpWord\Element\AbstractElement $container
|
||||
*/
|
||||
public function setParentContainer(self $container)
|
||||
public function setParentContainer(self $container): void
|
||||
{
|
||||
$this->parentContainer = substr(get_class($container), strrpos(get_class($container), '\\') + 1);
|
||||
$this->parent = $container;
|
||||
|
|
@ -360,7 +358,7 @@ abstract class AbstractElement
|
|||
// Set nested level
|
||||
$this->nestedLevel = $container->getNestedLevel();
|
||||
if ($this->parentContainer == 'Cell') {
|
||||
$this->nestedLevel++;
|
||||
++$this->nestedLevel;
|
||||
}
|
||||
|
||||
// Set phpword
|
||||
|
|
@ -376,18 +374,18 @@ abstract class AbstractElement
|
|||
}
|
||||
|
||||
/**
|
||||
* Set relation Id for media elements (link, image, object; legacy of OOXML)
|
||||
* Set relation Id for media elements (link, image, object; legacy of OOXML).
|
||||
*
|
||||
* - Image element needs to be passed to Media object
|
||||
* - Icon needs to be set for Object element
|
||||
*/
|
||||
private function setMediaRelation()
|
||||
private function setMediaRelation(): void
|
||||
{
|
||||
if (!$this instanceof Link && !$this instanceof Image && !$this instanceof OLEObject) {
|
||||
return;
|
||||
}
|
||||
|
||||
$elementName = substr(get_class($this), strrpos(get_class($this), '\\') + 1);
|
||||
$elementName = substr(static::class, strrpos(static::class, '\\') + 1);
|
||||
if ($elementName == 'OLEObject') {
|
||||
$elementName = 'Object';
|
||||
}
|
||||
|
|
@ -410,10 +408,10 @@ abstract class AbstractElement
|
|||
/**
|
||||
* Set relation Id for elements that will be registered in the Collection subnamespaces.
|
||||
*/
|
||||
private function setCollectionRelation()
|
||||
private function setCollectionRelation(): void
|
||||
{
|
||||
if ($this->collectionRelation === true && $this->phpWord instanceof PhpWord) {
|
||||
$elementName = substr(get_class($this), strrpos(get_class($this), '\\') + 1);
|
||||
$elementName = substr(static::class, strrpos(static::class, '\\') + 1);
|
||||
$addMethod = "add{$elementName}";
|
||||
$rId = $this->phpWord->$addMethod($this);
|
||||
$this->setRelationId($rId);
|
||||
|
|
@ -421,7 +419,7 @@ abstract class AbstractElement
|
|||
}
|
||||
|
||||
/**
|
||||
* Check if element is located in Section doc part (as opposed to Header/Footer)
|
||||
* Check if element is located in Section doc part (as opposed to Header/Footer).
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
|
|
@ -431,16 +429,17 @@ abstract class AbstractElement
|
|||
}
|
||||
|
||||
/**
|
||||
* Set new style value
|
||||
* Set new style value.
|
||||
*
|
||||
* @param mixed $styleObject Style object
|
||||
* @param mixed $styleValue Style value
|
||||
* @param bool $returnObject Always return object
|
||||
*
|
||||
* @return mixed
|
||||
*/
|
||||
protected function setNewStyle($styleObject, $styleValue = null, $returnObject = false)
|
||||
{
|
||||
if (!is_null($styleValue) && is_array($styleValue)) {
|
||||
if (null !== $styleValue && is_array($styleValue)) {
|
||||
$styleObject->setStyleByArray($styleValue);
|
||||
$style = $styleObject;
|
||||
} else {
|
||||
|
|
@ -451,17 +450,15 @@ abstract class AbstractElement
|
|||
}
|
||||
|
||||
/**
|
||||
* Sets the trackChange information
|
||||
*
|
||||
* @param TrackChange $trackChange
|
||||
* Sets the trackChange information.
|
||||
*/
|
||||
public function setTrackChange(TrackChange $trackChange)
|
||||
public function setTrackChange(TrackChange $trackChange): void
|
||||
{
|
||||
$this->trackChange = $trackChange;
|
||||
}
|
||||
|
||||
/**
|
||||
* Gets the trackChange information
|
||||
* Gets the trackChange information.
|
||||
*
|
||||
* @return TrackChange
|
||||
*/
|
||||
|
|
@ -471,33 +468,32 @@ abstract class AbstractElement
|
|||
}
|
||||
|
||||
/**
|
||||
* Set changed
|
||||
* Set changed.
|
||||
*
|
||||
* @param string $type INSERTED|DELETED
|
||||
* @param string $author
|
||||
* @param null|int|\DateTime $date allways in UTC
|
||||
* @param null|DateTime|int $date allways in UTC
|
||||
*/
|
||||
public function setChangeInfo($type, $author, $date = null)
|
||||
public function setChangeInfo($type, $author, $date = null): void
|
||||
{
|
||||
$this->trackChange = new TrackChange($type, $author, $date);
|
||||
}
|
||||
|
||||
/**
|
||||
* Set enum value
|
||||
* Set enum value.
|
||||
*
|
||||
* @param string|null $value
|
||||
* @param null|string $value
|
||||
* @param string[] $enum
|
||||
* @param string|null $default
|
||||
* @param null|string $default
|
||||
*
|
||||
* @throws \InvalidArgumentException
|
||||
* @return string|null
|
||||
* @return null|string
|
||||
*
|
||||
* @todo Merge with the same method in AbstractStyle
|
||||
*/
|
||||
protected function setEnumVal($value = null, $enum = array(), $default = null)
|
||||
protected function setEnumVal($value = null, $enum = [], $default = null)
|
||||
{
|
||||
if ($value !== null && trim($value) != '' && !empty($enum) && !in_array($value, $enum)) {
|
||||
throw new \InvalidArgumentException("Invalid style value: {$value}");
|
||||
throw new InvalidArgumentException("Invalid style value: {$value}");
|
||||
} elseif ($value === null || trim($value) == '') {
|
||||
$value = $default;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@
|
|||
* contributors, visit https://github.com/PHPOffice/PHPWord/contributors.
|
||||
*
|
||||
* @see https://github.com/PHPOffice/PHPWord
|
||||
* @copyright 2010-2018 PHPWord contributors
|
||||
*
|
||||
* @license http://www.gnu.org/licenses/lgpl.txt LGPL version 3
|
||||
*/
|
||||
|
||||
|
|
@ -20,26 +20,26 @@ namespace PhpOffice\PhpWord\Element;
|
|||
use PhpOffice\PhpWord\Shared\Text as SharedText;
|
||||
|
||||
/**
|
||||
* Bookmark element
|
||||
* Bookmark element.
|
||||
*/
|
||||
class Bookmark extends AbstractElement
|
||||
{
|
||||
/**
|
||||
* Bookmark Name
|
||||
* Bookmark Name.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
private $name;
|
||||
|
||||
/**
|
||||
* Is part of collection
|
||||
* Is part of collection.
|
||||
*
|
||||
* @var bool
|
||||
*/
|
||||
protected $collectionRelation = true;
|
||||
|
||||
/**
|
||||
* Create a new Bookmark Element
|
||||
* Create a new Bookmark Element.
|
||||
*
|
||||
* @param string $name
|
||||
*/
|
||||
|
|
@ -49,7 +49,7 @@ class Bookmark extends AbstractElement
|
|||
}
|
||||
|
||||
/**
|
||||
* Get Bookmark name
|
||||
* Get Bookmark name.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@
|
|||
* contributors, visit https://github.com/PHPOffice/PHPWord/contributors.
|
||||
*
|
||||
* @see https://github.com/PHPOffice/PHPWord
|
||||
* @copyright 2010-2018 PHPWord contributors
|
||||
*
|
||||
* @license http://www.gnu.org/licenses/lgpl.txt LGPL version 3
|
||||
*/
|
||||
|
||||
|
|
@ -20,7 +20,7 @@ namespace PhpOffice\PhpWord\Element;
|
|||
use PhpOffice\PhpWord\Style\Cell as CellStyle;
|
||||
|
||||
/**
|
||||
* Table cell element
|
||||
* Table cell element.
|
||||
*/
|
||||
class Cell extends AbstractContainer
|
||||
{
|
||||
|
|
@ -30,21 +30,21 @@ class Cell extends AbstractContainer
|
|||
protected $container = 'Cell';
|
||||
|
||||
/**
|
||||
* Cell width
|
||||
* Cell width.
|
||||
*
|
||||
* @var int
|
||||
*/
|
||||
private $width = null;
|
||||
private $width;
|
||||
|
||||
/**
|
||||
* Cell style
|
||||
* Cell style.
|
||||
*
|
||||
* @var \PhpOffice\PhpWord\Style\Cell
|
||||
*/
|
||||
private $style;
|
||||
|
||||
/**
|
||||
* Create new instance
|
||||
* Create new instance.
|
||||
*
|
||||
* @param int $width
|
||||
* @param array|\PhpOffice\PhpWord\Style\Cell $style
|
||||
|
|
@ -56,7 +56,7 @@ class Cell extends AbstractContainer
|
|||
}
|
||||
|
||||
/**
|
||||
* Get cell style
|
||||
* Get cell style.
|
||||
*
|
||||
* @return \PhpOffice\PhpWord\Style\Cell
|
||||
*/
|
||||
|
|
@ -66,7 +66,7 @@ class Cell extends AbstractContainer
|
|||
}
|
||||
|
||||
/**
|
||||
* Get cell width
|
||||
* Get cell width.
|
||||
*
|
||||
* @return int
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@
|
|||
* contributors, visit https://github.com/PHPOffice/PHPWord/contributors.
|
||||
*
|
||||
* @see https://github.com/PHPOffice/PHPWord
|
||||
* @copyright 2010-2018 PHPWord contributors
|
||||
*
|
||||
* @license http://www.gnu.org/licenses/lgpl.txt LGPL version 3
|
||||
*/
|
||||
|
||||
|
|
@ -20,42 +20,42 @@ namespace PhpOffice\PhpWord\Element;
|
|||
use PhpOffice\PhpWord\Style\Chart as ChartStyle;
|
||||
|
||||
/**
|
||||
* Chart element
|
||||
* Chart element.
|
||||
*
|
||||
* @since 0.12.0
|
||||
*/
|
||||
class Chart extends AbstractElement
|
||||
{
|
||||
/**
|
||||
* Is part of collection
|
||||
* Is part of collection.
|
||||
*
|
||||
* @var bool
|
||||
*/
|
||||
protected $collectionRelation = true;
|
||||
|
||||
/**
|
||||
* Type
|
||||
* Type.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
private $type = 'pie';
|
||||
|
||||
/**
|
||||
* Series
|
||||
* Series.
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
private $series = array();
|
||||
private $series = [];
|
||||
|
||||
/**
|
||||
* Chart style
|
||||
* Chart style.
|
||||
*
|
||||
* @var \PhpOffice\PhpWord\Style\Chart
|
||||
*/
|
||||
private $style;
|
||||
|
||||
/**
|
||||
* Create new instance
|
||||
* Create new instance.
|
||||
*
|
||||
* @param string $type
|
||||
* @param array $categories
|
||||
|
|
@ -71,7 +71,7 @@ class Chart extends AbstractElement
|
|||
}
|
||||
|
||||
/**
|
||||
* Get type
|
||||
* Get type.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
|
|
@ -85,30 +85,30 @@ class Chart extends AbstractElement
|
|||
*
|
||||
* @param string $value
|
||||
*/
|
||||
public function setType($value)
|
||||
public function setType($value): void
|
||||
{
|
||||
$enum = array('pie', 'doughnut', 'line', 'bar', 'stacked_bar', 'percent_stacked_bar', 'column', 'stacked_column', 'percent_stacked_column', 'area', 'radar', 'scatter');
|
||||
$enum = ['pie', 'doughnut', 'line', 'bar', 'stacked_bar', 'percent_stacked_bar', 'column', 'stacked_column', 'percent_stacked_column', 'area', 'radar', 'scatter'];
|
||||
$this->type = $this->setEnumVal($value, $enum, 'pie');
|
||||
}
|
||||
|
||||
/**
|
||||
* Add series
|
||||
* Add series.
|
||||
*
|
||||
* @param array $categories
|
||||
* @param array $values
|
||||
* @param null|mixed $name
|
||||
*/
|
||||
public function addSeries($categories, $values, $name = null)
|
||||
public function addSeries($categories, $values, $name = null): void
|
||||
{
|
||||
$this->series[] = array(
|
||||
$this->series[] = [
|
||||
'categories' => $categories,
|
||||
'values' => $values,
|
||||
'name' => $name,
|
||||
);
|
||||
'values' => $values,
|
||||
'name' => $name,
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* Get series
|
||||
* Get series.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
|
|
@ -118,7 +118,7 @@ class Chart extends AbstractElement
|
|||
}
|
||||
|
||||
/**
|
||||
* Get chart style
|
||||
* Get chart style.
|
||||
*
|
||||
* @return \PhpOffice\PhpWord\Style\Chart
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@
|
|||
* contributors, visit https://github.com/PHPOffice/PHPWord/contributors.
|
||||
*
|
||||
* @see https://github.com/PHPOffice/PHPWord
|
||||
* @copyright 2010-2018 PHPWord contributors
|
||||
*
|
||||
* @license http://www.gnu.org/licenses/lgpl.txt LGPL version 3
|
||||
*/
|
||||
|
||||
|
|
@ -20,21 +20,21 @@ namespace PhpOffice\PhpWord\Element;
|
|||
use PhpOffice\PhpWord\Shared\Text as SharedText;
|
||||
|
||||
/**
|
||||
* Check box element
|
||||
* Check box element.
|
||||
*
|
||||
* @since 0.10.0
|
||||
*/
|
||||
class CheckBox extends Text
|
||||
{
|
||||
/**
|
||||
* Name content
|
||||
* Name content.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
private $name;
|
||||
|
||||
/**
|
||||
* Create new instance
|
||||
* Create new instance.
|
||||
*
|
||||
* @param string $name
|
||||
* @param string $text
|
||||
|
|
@ -48,9 +48,10 @@ class CheckBox extends Text
|
|||
}
|
||||
|
||||
/**
|
||||
* Set name content
|
||||
* Set name content.
|
||||
*
|
||||
* @param string $name
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
public function setName($name)
|
||||
|
|
@ -61,7 +62,7 @@ class CheckBox extends Text
|
|||
}
|
||||
|
||||
/**
|
||||
* Get name content
|
||||
* Get name content.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -11,51 +11,54 @@
|
|||
* contributors, visit https://github.com/PHPOffice/PHPWord/contributors.
|
||||
*
|
||||
* @see https://github.com/PHPOffice/PHPWord
|
||||
* @copyright 2010-2018 PHPWord contributors
|
||||
*
|
||||
* @license http://www.gnu.org/licenses/lgpl.txt LGPL version 3
|
||||
*/
|
||||
|
||||
namespace PhpOffice\PhpWord\Element;
|
||||
|
||||
use DateTime;
|
||||
|
||||
/**
|
||||
* Comment element
|
||||
* Comment element.
|
||||
*
|
||||
* @see http://datypic.com/sc/ooxml/t-w_CT_Comment.html
|
||||
*/
|
||||
class Comment extends TrackChange
|
||||
{
|
||||
/**
|
||||
* Initials
|
||||
* Initials.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
private $initials;
|
||||
|
||||
/**
|
||||
* The Element where this comment starts
|
||||
* The Element where this comment starts.
|
||||
*
|
||||
* @var AbstractElement
|
||||
*/
|
||||
private $startElement;
|
||||
|
||||
/**
|
||||
* The Element where this comment ends
|
||||
* The Element where this comment ends.
|
||||
*
|
||||
* @var AbstractElement
|
||||
*/
|
||||
private $endElement;
|
||||
|
||||
/**
|
||||
* Is part of collection
|
||||
* Is part of collection.
|
||||
*
|
||||
* @var bool
|
||||
*/
|
||||
protected $collectionRelation = true;
|
||||
|
||||
/**
|
||||
* Create a new Comment Element
|
||||
* Create a new Comment Element.
|
||||
*
|
||||
* @param string $author
|
||||
* @param null|\DateTime $date
|
||||
* @param null|DateTime $date
|
||||
* @param string $initials
|
||||
*/
|
||||
public function __construct($author, $date = null, $initials = null)
|
||||
|
|
@ -65,7 +68,7 @@ class Comment extends TrackChange
|
|||
}
|
||||
|
||||
/**
|
||||
* Get Initials
|
||||
* Get Initials.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
|
|
@ -75,11 +78,11 @@ class Comment extends TrackChange
|
|||
}
|
||||
|
||||
/**
|
||||
* Sets the element where this comment starts
|
||||
* Sets the element where this comment starts.
|
||||
*
|
||||
* @param \PhpOffice\PhpWord\Element\AbstractElement $value
|
||||
*/
|
||||
public function setStartElement(AbstractElement $value)
|
||||
public function setStartElement(AbstractElement $value): void
|
||||
{
|
||||
$this->startElement = $value;
|
||||
if ($value->getCommentRangeStart() == null) {
|
||||
|
|
@ -88,7 +91,7 @@ class Comment extends TrackChange
|
|||
}
|
||||
|
||||
/**
|
||||
* Get the element where this comment starts
|
||||
* Get the element where this comment starts.
|
||||
*
|
||||
* @return \PhpOffice\PhpWord\Element\AbstractElement
|
||||
*/
|
||||
|
|
@ -98,11 +101,11 @@ class Comment extends TrackChange
|
|||
}
|
||||
|
||||
/**
|
||||
* Sets the element where this comment ends
|
||||
* Sets the element where this comment ends.
|
||||
*
|
||||
* @param \PhpOffice\PhpWord\Element\AbstractElement $value
|
||||
*/
|
||||
public function setEndElement(AbstractElement $value)
|
||||
public function setEndElement(AbstractElement $value): void
|
||||
{
|
||||
$this->endElement = $value;
|
||||
if ($value->getCommentRangeEnd() == null) {
|
||||
|
|
@ -111,7 +114,7 @@ class Comment extends TrackChange
|
|||
}
|
||||
|
||||
/**
|
||||
* Get the element where this comment ends
|
||||
* Get the element where this comment ends.
|
||||
*
|
||||
* @return \PhpOffice\PhpWord\Element\AbstractElement
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -11,14 +11,14 @@
|
|||
* contributors, visit https://github.com/PHPOffice/PHPWord/contributors.
|
||||
*
|
||||
* @see https://github.com/PHPOffice/PHPWord
|
||||
* @copyright 2010-2018 PHPWord contributors
|
||||
*
|
||||
* @license http://www.gnu.org/licenses/lgpl.txt LGPL version 3
|
||||
*/
|
||||
|
||||
namespace PhpOffice\PhpWord\Element;
|
||||
|
||||
/**
|
||||
* Endnote element
|
||||
* Endnote element.
|
||||
*
|
||||
* @since 0.10.0
|
||||
*/
|
||||
|
|
@ -30,9 +30,9 @@ class Endnote extends Footnote
|
|||
protected $container = 'Endnote';
|
||||
|
||||
/**
|
||||
* Create new instance
|
||||
* Create new instance.
|
||||
*
|
||||
* @param string|array|\PhpOffice\PhpWord\Style\Paragraph $paragraphStyle
|
||||
* @param array|\PhpOffice\PhpWord\Style\Paragraph|string $paragraphStyle
|
||||
*/
|
||||
public function __construct($paragraphStyle = null)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -11,16 +11,17 @@
|
|||
* contributors, visit https://github.com/PHPOffice/PHPWord/contributors.
|
||||
*
|
||||
* @see https://github.com/PHPOffice/PHPWord
|
||||
* @copyright 2010-2018 PHPWord contributors
|
||||
*
|
||||
* @license http://www.gnu.org/licenses/lgpl.txt LGPL version 3
|
||||
*/
|
||||
|
||||
namespace PhpOffice\PhpWord\Element;
|
||||
|
||||
use InvalidArgumentException;
|
||||
use PhpOffice\PhpWord\Style\Font;
|
||||
|
||||
/**
|
||||
* Field element
|
||||
* Field element.
|
||||
*
|
||||
* @since 0.11.0
|
||||
* @see http://www.schemacentral.com/sc/ooxml/t-w_CT_SimpleField.html
|
||||
|
|
@ -29,103 +30,104 @@ class Field extends AbstractElement
|
|||
{
|
||||
/**
|
||||
* Field properties and options. Depending on type, a field can have different properties
|
||||
* and options
|
||||
* and options.
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
protected $fieldsArray = array(
|
||||
'PAGE' => array(
|
||||
'properties' => array(
|
||||
'format' => array('Arabic', 'ArabicDash', 'alphabetic', 'ALPHABETIC', 'roman', 'ROMAN'),
|
||||
),
|
||||
'options' => array('PreserveFormat'),
|
||||
),
|
||||
'NUMPAGES' => array(
|
||||
'properties' => array(
|
||||
'format' => array('Arabic', 'ArabicDash', 'CardText', 'DollarText', 'Ordinal', 'OrdText',
|
||||
'alphabetic', 'ALPHABETIC', 'roman', 'ROMAN', 'Caps', 'FirstCap', 'Lower', 'Upper', ),
|
||||
'numformat' => array('0', '0,00', '#.##0', '#.##0,00', '€ #.##0,00(€ #.##0,00)', '0%', '0,00%'),
|
||||
),
|
||||
'options' => array('PreserveFormat'),
|
||||
),
|
||||
'DATE' => array(
|
||||
'properties' => array(
|
||||
'dateformat' => array(
|
||||
/* Generic formats */
|
||||
protected $fieldsArray = [
|
||||
'PAGE' => [
|
||||
'properties' => [
|
||||
'format' => ['Arabic', 'ArabicDash', 'alphabetic', 'ALPHABETIC', 'roman', 'ROMAN'],
|
||||
],
|
||||
'options' => ['PreserveFormat'],
|
||||
],
|
||||
'NUMPAGES' => [
|
||||
'properties' => [
|
||||
'format' => ['Arabic', 'ArabicDash', 'CardText', 'DollarText', 'Ordinal', 'OrdText',
|
||||
'alphabetic', 'ALPHABETIC', 'roman', 'ROMAN', 'Caps', 'FirstCap', 'Lower', 'Upper', ],
|
||||
'numformat' => ['0', '0,00', '#.##0', '#.##0,00', '€ #.##0,00(€ #.##0,00)', '0%', '0,00%'],
|
||||
],
|
||||
'options' => ['PreserveFormat'],
|
||||
],
|
||||
'DATE' => [
|
||||
'properties' => [
|
||||
'dateformat' => [
|
||||
// Generic formats
|
||||
'yyyy-MM-dd', 'yyyy-MM', 'MMM-yy', 'MMM-yyyy', 'h:mm am/pm', 'h:mm:ss am/pm', 'HH:mm', 'HH:mm:ss',
|
||||
/* Day-Month-Year formats */
|
||||
// Day-Month-Year formats
|
||||
'dddd d MMMM yyyy', 'd MMMM yyyy', 'd-MMM-yy', 'd MMM. yy',
|
||||
'd-M-yy', 'd-M-yy h:mm', 'd-M-yy h:mm:ss', 'd-M-yy h:mm am/pm', 'd-M-yy h:mm:ss am/pm', 'd-M-yy HH:mm', 'd-M-yy HH:mm:ss',
|
||||
'd/M/yy', 'd/M/yy h:mm', 'd/M/yy h:mm:ss', 'd/M/yy h:mm am/pm', 'd/M/yy h:mm:ss am/pm', 'd/M/yy HH:mm', 'd/M/yy HH:mm:ss',
|
||||
'd-M-yyyy', 'd-M-yyyy h:mm', 'd-M-yyyy h:mm:ss', 'd-M-yyyy h:mm am/pm', 'd-M-yyyy h:mm:ss am/pm', 'd-M-yyyy HH:mm', 'd-M-yyyy HH:mm:ss',
|
||||
'd/M/yyyy', 'd/M/yyyy h:mm', 'd/M/yyyy h:mm:ss', 'd/M/yyyy h:mm am/pm', 'd/M/yyyy h:mm:ss am/pm', 'd/M/yyyy HH:mm', 'd/M/yyyy HH:mm:ss',
|
||||
/* Month-Day-Year formats */
|
||||
// Month-Day-Year formats
|
||||
'dddd, MMMM d yyyy', 'MMMM d yyyy', 'MMM-d-yy', 'MMM. d yy',
|
||||
'M-d-yy', 'M-d-yy h:mm', 'M-d-yy h:mm:ss', 'M-d-yy h:mm am/pm', 'M-d-yy h:mm:ss am/pm', 'M-d-yy HH:mm', 'M-d-yy HH:mm:ss',
|
||||
'M/d/yy', 'M/d/yy h:mm', 'M/d/yy h:mm:ss', 'M/d/yy h:mm am/pm', 'M/d/yy h:mm:ss am/pm', 'M/d/yy HH:mm', 'M/d/yy HH:mm:ss',
|
||||
'M-d-yyyy', 'M-d-yyyy h:mm', 'M-d-yyyy h:mm:ss', 'M-d-yyyy h:mm am/pm', 'M-d-yyyy h:mm:ss am/pm', 'M-d-yyyy HH:mm', 'M-d-yyyy HH:mm:ss',
|
||||
'M/d/yyyy', 'M/d/yyyy h:mm', 'M/d/yyyy h:mm:ss', 'M/d/yyyy h:mm am/pm', 'M/d/yyyy h:mm:ss am/pm', 'M/d/yyyy HH:mm', 'M/d/yyyy HH:mm:ss',
|
||||
),
|
||||
),
|
||||
'options' => array('PreserveFormat', 'LunarCalendar', 'SakaEraCalendar', 'LastUsedFormat'),
|
||||
),
|
||||
'MACROBUTTON' => array(
|
||||
'properties' => array('macroname' => ''),
|
||||
),
|
||||
'XE' => array(
|
||||
'properties' => array(),
|
||||
'options' => array('Bold', 'Italic'),
|
||||
),
|
||||
'INDEX' => array(
|
||||
'properties' => array(),
|
||||
'options' => array('PreserveFormat'),
|
||||
),
|
||||
'STYLEREF' => array(
|
||||
'properties' => array('StyleIdentifier' => ''),
|
||||
'options' => array('PreserveFormat'),
|
||||
),
|
||||
);
|
||||
],
|
||||
],
|
||||
'options' => ['PreserveFormat', 'LunarCalendar', 'SakaEraCalendar', 'LastUsedFormat'],
|
||||
],
|
||||
'MACROBUTTON' => [
|
||||
'properties' => ['macroname' => ''],
|
||||
],
|
||||
'XE' => [
|
||||
'properties' => [],
|
||||
'options' => ['Bold', 'Italic'],
|
||||
],
|
||||
'INDEX' => [
|
||||
'properties' => [],
|
||||
'options' => ['PreserveFormat'],
|
||||
],
|
||||
'STYLEREF' => [
|
||||
'properties' => ['StyleIdentifier' => ''],
|
||||
'options' => ['PreserveFormat'],
|
||||
],
|
||||
];
|
||||
|
||||
/**
|
||||
* Field type
|
||||
* Field type.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $type;
|
||||
|
||||
/**
|
||||
* Field text
|
||||
* Field text.
|
||||
*
|
||||
* @var TextRun|string
|
||||
* @var string|TextRun
|
||||
*/
|
||||
protected $text;
|
||||
|
||||
/**
|
||||
* Field properties
|
||||
* Field properties.
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
protected $properties = array();
|
||||
protected $properties = [];
|
||||
|
||||
/**
|
||||
* Field options
|
||||
* Field options.
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
protected $options = array();
|
||||
protected $options = [];
|
||||
|
||||
/**
|
||||
* Font style
|
||||
* Font style.
|
||||
*
|
||||
* @var string|\PhpOffice\PhpWord\Style\Font
|
||||
* @var \PhpOffice\PhpWord\Style\Font|string
|
||||
*/
|
||||
protected $fontStyle;
|
||||
|
||||
/**
|
||||
* Set Font style
|
||||
* Set Font style.
|
||||
*
|
||||
* @param string|array|\PhpOffice\PhpWord\Style\Font $style
|
||||
* @return string|\PhpOffice\PhpWord\Style\Font
|
||||
* @param array|\PhpOffice\PhpWord\Style\Font|string $style
|
||||
*
|
||||
* @return \PhpOffice\PhpWord\Style\Font|string
|
||||
*/
|
||||
public function setFontStyle($style = null)
|
||||
{
|
||||
|
|
@ -144,9 +146,9 @@ class Field extends AbstractElement
|
|||
}
|
||||
|
||||
/**
|
||||
* Get Font style
|
||||
* Get Font style.
|
||||
*
|
||||
* @return string|\PhpOffice\PhpWord\Style\Font
|
||||
* @return \PhpOffice\PhpWord\Style\Font|string
|
||||
*/
|
||||
public function getFontStyle()
|
||||
{
|
||||
|
|
@ -154,15 +156,15 @@ class Field extends AbstractElement
|
|||
}
|
||||
|
||||
/**
|
||||
* Create a new Field Element
|
||||
* Create a new Field Element.
|
||||
*
|
||||
* @param string $type
|
||||
* @param array $properties
|
||||
* @param array $options
|
||||
* @param TextRun|string|null $text
|
||||
* @param string|array|\PhpOffice\PhpWord\Style\Font $fontStyle
|
||||
* @param null|string|TextRun $text
|
||||
* @param array|\PhpOffice\PhpWord\Style\Font|string $fontStyle
|
||||
*/
|
||||
public function __construct($type = null, $properties = array(), $options = array(), $text = null, $fontStyle = null)
|
||||
public function __construct($type = null, $properties = [], $options = [], $text = null, $fontStyle = null)
|
||||
{
|
||||
$this->setType($type);
|
||||
$this->setProperties($properties);
|
||||
|
|
@ -172,11 +174,10 @@ class Field extends AbstractElement
|
|||
}
|
||||
|
||||
/**
|
||||
* Set Field type
|
||||
* Set Field type.
|
||||
*
|
||||
* @param string $type
|
||||
*
|
||||
* @throws \InvalidArgumentException
|
||||
* @return string
|
||||
*/
|
||||
public function setType($type = null)
|
||||
|
|
@ -185,7 +186,7 @@ class Field extends AbstractElement
|
|||
if (isset($this->fieldsArray[$type])) {
|
||||
$this->type = $type;
|
||||
} else {
|
||||
throw new \InvalidArgumentException("Invalid type '$type'");
|
||||
throw new InvalidArgumentException("Invalid type '$type'");
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -193,7 +194,7 @@ class Field extends AbstractElement
|
|||
}
|
||||
|
||||
/**
|
||||
* Get Field type
|
||||
* Get Field type.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
|
|
@ -203,19 +204,18 @@ class Field extends AbstractElement
|
|||
}
|
||||
|
||||
/**
|
||||
* Set Field properties
|
||||
* Set Field properties.
|
||||
*
|
||||
* @param array $properties
|
||||
*
|
||||
* @throws \InvalidArgumentException
|
||||
* @return self
|
||||
*/
|
||||
public function setProperties($properties = array())
|
||||
public function setProperties($properties = [])
|
||||
{
|
||||
if (is_array($properties)) {
|
||||
foreach (array_keys($properties) as $propkey) {
|
||||
if (!(isset($this->fieldsArray[$this->type]['properties'][$propkey]))) {
|
||||
throw new \InvalidArgumentException("Invalid property '$propkey'");
|
||||
throw new InvalidArgumentException("Invalid property '$propkey'");
|
||||
}
|
||||
}
|
||||
$this->properties = array_merge($this->properties, $properties);
|
||||
|
|
@ -225,7 +225,7 @@ class Field extends AbstractElement
|
|||
}
|
||||
|
||||
/**
|
||||
* Get Field properties
|
||||
* Get Field properties.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
|
|
@ -235,19 +235,18 @@ class Field extends AbstractElement
|
|||
}
|
||||
|
||||
/**
|
||||
* Set Field options
|
||||
* Set Field options.
|
||||
*
|
||||
* @param array $options
|
||||
*
|
||||
* @throws \InvalidArgumentException
|
||||
* @return self
|
||||
*/
|
||||
public function setOptions($options = array())
|
||||
public function setOptions($options = [])
|
||||
{
|
||||
if (is_array($options)) {
|
||||
foreach (array_keys($options) as $optionkey) {
|
||||
if (!(isset($this->fieldsArray[$this->type]['options'][$optionkey])) && substr($optionkey, 0, 1) !== '\\') {
|
||||
throw new \InvalidArgumentException("Invalid option '$optionkey', possible values are " . implode(', ', $this->fieldsArray[$this->type]['options']));
|
||||
throw new InvalidArgumentException("Invalid option '$optionkey', possible values are " . implode(', ', $this->fieldsArray[$this->type]['options']));
|
||||
}
|
||||
}
|
||||
$this->options = array_merge($this->options, $options);
|
||||
|
|
@ -257,7 +256,7 @@ class Field extends AbstractElement
|
|||
}
|
||||
|
||||
/**
|
||||
* Get Field properties
|
||||
* Get Field properties.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
|
|
@ -267,11 +266,10 @@ class Field extends AbstractElement
|
|||
}
|
||||
|
||||
/**
|
||||
* Set Field text
|
||||
* Set Field text.
|
||||
*
|
||||
* @param string|TextRun $text
|
||||
*
|
||||
* @throws \InvalidArgumentException
|
||||
* @return null|string|TextRun
|
||||
*/
|
||||
public function setText($text = null)
|
||||
|
|
@ -280,7 +278,7 @@ class Field extends AbstractElement
|
|||
if (is_string($text) || $text instanceof TextRun) {
|
||||
$this->text = $text;
|
||||
} else {
|
||||
throw new \InvalidArgumentException('Invalid text');
|
||||
throw new InvalidArgumentException('Invalid text');
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -288,7 +286,7 @@ class Field extends AbstractElement
|
|||
}
|
||||
|
||||
/**
|
||||
* Get Field text
|
||||
* Get Field text.
|
||||
*
|
||||
* @return string|TextRun
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -11,21 +11,22 @@
|
|||
* contributors, visit https://github.com/PHPOffice/PHPWord/contributors.
|
||||
*
|
||||
* @see https://github.com/PHPOffice/PHPWord
|
||||
* @copyright 2010-2018 PHPWord contributors
|
||||
*
|
||||
* @license http://www.gnu.org/licenses/lgpl.txt LGPL version 3
|
||||
*/
|
||||
|
||||
namespace PhpOffice\PhpWord\Element;
|
||||
|
||||
/**
|
||||
* Footer element
|
||||
* Footer element.
|
||||
*/
|
||||
class Footer extends AbstractContainer
|
||||
{
|
||||
/**
|
||||
* Header/footer types constants
|
||||
* Header/footer types constants.
|
||||
*
|
||||
* @var string
|
||||
*
|
||||
* @see http://www.datypic.com/sc/ooxml/t-w_ST_HdrFtr.html Header or Footer Type
|
||||
*/
|
||||
const AUTO = 'default'; // default and odd pages
|
||||
|
|
@ -38,14 +39,14 @@ class Footer extends AbstractContainer
|
|||
protected $container = 'Footer';
|
||||
|
||||
/**
|
||||
* Header type
|
||||
* Header type.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $type = self::AUTO;
|
||||
|
||||
/**
|
||||
* Create new instance
|
||||
* Create new instance.
|
||||
*
|
||||
* @param int $sectionId
|
||||
* @param int $containerId
|
||||
|
|
@ -65,18 +66,19 @@ class Footer extends AbstractContainer
|
|||
*
|
||||
* @param string $value
|
||||
*/
|
||||
public function setType($value = self::AUTO)
|
||||
public function setType($value = self::AUTO): void
|
||||
{
|
||||
if (!in_array($value, array(self::AUTO, self::FIRST, self::EVEN))) {
|
||||
if (!in_array($value, [self::AUTO, self::FIRST, self::EVEN])) {
|
||||
$value = self::AUTO;
|
||||
}
|
||||
$this->type = $value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get type
|
||||
* Get type.
|
||||
*
|
||||
* @return string
|
||||
*
|
||||
* @since 0.10.0
|
||||
*/
|
||||
public function getType()
|
||||
|
|
@ -85,7 +87,7 @@ class Footer extends AbstractContainer
|
|||
}
|
||||
|
||||
/**
|
||||
* Reset type to default
|
||||
* Reset type to default.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
|
|
@ -95,7 +97,7 @@ class Footer extends AbstractContainer
|
|||
}
|
||||
|
||||
/**
|
||||
* First page only header
|
||||
* First page only header.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
|
|
@ -105,7 +107,7 @@ class Footer extends AbstractContainer
|
|||
}
|
||||
|
||||
/**
|
||||
* Even numbered pages only
|
||||
* Even numbered pages only.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@
|
|||
* contributors, visit https://github.com/PHPOffice/PHPWord/contributors.
|
||||
*
|
||||
* @see https://github.com/PHPOffice/PHPWord
|
||||
* @copyright 2010-2018 PHPWord contributors
|
||||
*
|
||||
* @license http://www.gnu.org/licenses/lgpl.txt LGPL version 3
|
||||
*/
|
||||
|
||||
|
|
@ -27,23 +27,23 @@ class Footnote extends AbstractContainer
|
|||
protected $container = 'Footnote';
|
||||
|
||||
/**
|
||||
* Paragraph style
|
||||
* Paragraph style.
|
||||
*
|
||||
* @var string|\PhpOffice\PhpWord\Style\Paragraph
|
||||
* @var \PhpOffice\PhpWord\Style\Paragraph|string
|
||||
*/
|
||||
protected $paragraphStyle;
|
||||
|
||||
/**
|
||||
* Is part of collection
|
||||
* Is part of collection.
|
||||
*
|
||||
* @var bool
|
||||
*/
|
||||
protected $collectionRelation = true;
|
||||
|
||||
/**
|
||||
* Create new instance
|
||||
* Create new instance.
|
||||
*
|
||||
* @param string|array|\PhpOffice\PhpWord\Style\Paragraph $paragraphStyle
|
||||
* @param array|\PhpOffice\PhpWord\Style\Paragraph|string $paragraphStyle
|
||||
*/
|
||||
public function __construct($paragraphStyle = null)
|
||||
{
|
||||
|
|
@ -52,9 +52,9 @@ class Footnote extends AbstractContainer
|
|||
}
|
||||
|
||||
/**
|
||||
* Get paragraph style
|
||||
* Get paragraph style.
|
||||
*
|
||||
* @return string|\PhpOffice\PhpWord\Style\Paragraph
|
||||
* @return \PhpOffice\PhpWord\Style\Paragraph|string
|
||||
*/
|
||||
public function getParagraphStyle()
|
||||
{
|
||||
|
|
@ -62,9 +62,10 @@ class Footnote extends AbstractContainer
|
|||
}
|
||||
|
||||
/**
|
||||
* Get Footnote Reference ID
|
||||
* Get Footnote Reference ID.
|
||||
*
|
||||
* @deprecated 0.10.0
|
||||
*
|
||||
* @codeCoverageIgnore
|
||||
*
|
||||
* @return int
|
||||
|
|
@ -75,14 +76,15 @@ class Footnote extends AbstractContainer
|
|||
}
|
||||
|
||||
/**
|
||||
* Set Footnote Reference ID
|
||||
* Set Footnote Reference ID.
|
||||
*
|
||||
* @deprecated 0.10.0
|
||||
*
|
||||
* @codeCoverageIgnore
|
||||
*
|
||||
* @param int $rId
|
||||
*/
|
||||
public function setReferenceId($rId)
|
||||
public function setReferenceId($rId): void
|
||||
{
|
||||
$this->setRelationId($rId);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,14 +11,14 @@
|
|||
* contributors, visit https://github.com/PHPOffice/PHPWord/contributors.
|
||||
*
|
||||
* @see https://github.com/PHPOffice/PHPWord
|
||||
* @copyright 2010-2018 PHPWord contributors
|
||||
*
|
||||
* @license http://www.gnu.org/licenses/lgpl.txt LGPL version 3
|
||||
*/
|
||||
|
||||
namespace PhpOffice\PhpWord\Element;
|
||||
|
||||
/**
|
||||
* Form field element
|
||||
* Form field element.
|
||||
*
|
||||
* @since 0.12.0
|
||||
* @see http://www.datypic.com/sc/ooxml/t-w_CT_FFData.html
|
||||
|
|
@ -26,46 +26,46 @@ namespace PhpOffice\PhpWord\Element;
|
|||
class FormField extends Text
|
||||
{
|
||||
/**
|
||||
* Form field type: textinput|checkbox|dropdown
|
||||
* Form field type: textinput|checkbox|dropdown.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
private $type = 'textinput';
|
||||
|
||||
/**
|
||||
* Form field name
|
||||
* Form field name.
|
||||
*
|
||||
* @var string|bool|int
|
||||
* @var bool|int|string
|
||||
*/
|
||||
private $name;
|
||||
|
||||
/**
|
||||
* Default value
|
||||
* Default value.
|
||||
*
|
||||
* - TextInput: string
|
||||
* - CheckBox: bool
|
||||
* - DropDown: int Index of entries (zero based)
|
||||
*
|
||||
* @var string|bool|int
|
||||
* @var bool|int|string
|
||||
*/
|
||||
private $default;
|
||||
|
||||
/**
|
||||
* Value
|
||||
* Value.
|
||||
*
|
||||
* @var string|bool|int
|
||||
* @var bool|int|string
|
||||
*/
|
||||
private $value;
|
||||
|
||||
/**
|
||||
* Dropdown entries
|
||||
* Dropdown entries.
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
private $entries = array();
|
||||
private $entries = [];
|
||||
|
||||
/**
|
||||
* Create new instance
|
||||
* Create new instance.
|
||||
*
|
||||
* @param string $type
|
||||
* @param mixed $fontStyle
|
||||
|
|
@ -78,7 +78,7 @@ class FormField extends Text
|
|||
}
|
||||
|
||||
/**
|
||||
* Get type
|
||||
* Get type.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
|
|
@ -88,21 +88,22 @@ class FormField extends Text
|
|||
}
|
||||
|
||||
/**
|
||||
* Set type
|
||||
* Set type.
|
||||
*
|
||||
* @param string $value
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
public function setType($value)
|
||||
{
|
||||
$enum = array('textinput', 'checkbox', 'dropdown');
|
||||
$enum = ['textinput', 'checkbox', 'dropdown'];
|
||||
$this->type = $this->setEnumVal($value, $enum, $this->type);
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get name
|
||||
* Get name.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
|
|
@ -112,9 +113,10 @@ class FormField extends Text
|
|||
}
|
||||
|
||||
/**
|
||||
* Set name
|
||||
* Set name.
|
||||
*
|
||||
* @param bool|int|string $value
|
||||
*
|
||||
* @param string|bool|int $value
|
||||
* @return self
|
||||
*/
|
||||
public function setName($value)
|
||||
|
|
@ -125,9 +127,9 @@ class FormField extends Text
|
|||
}
|
||||
|
||||
/**
|
||||
* Get default
|
||||
* Get default.
|
||||
*
|
||||
* @return string|bool|int
|
||||
* @return bool|int|string
|
||||
*/
|
||||
public function getDefault()
|
||||
{
|
||||
|
|
@ -135,9 +137,10 @@ class FormField extends Text
|
|||
}
|
||||
|
||||
/**
|
||||
* Set default
|
||||
* Set default.
|
||||
*
|
||||
* @param bool|int|string $value
|
||||
*
|
||||
* @param string|bool|int $value
|
||||
* @return self
|
||||
*/
|
||||
public function setDefault($value)
|
||||
|
|
@ -148,9 +151,9 @@ class FormField extends Text
|
|||
}
|
||||
|
||||
/**
|
||||
* Get value
|
||||
* Get value.
|
||||
*
|
||||
* @return string|bool|int
|
||||
* @return bool|int|string
|
||||
*/
|
||||
public function getValue()
|
||||
{
|
||||
|
|
@ -158,9 +161,10 @@ class FormField extends Text
|
|||
}
|
||||
|
||||
/**
|
||||
* Set value
|
||||
* Set value.
|
||||
*
|
||||
* @param bool|int|string $value
|
||||
*
|
||||
* @param string|bool|int $value
|
||||
* @return self
|
||||
*/
|
||||
public function setValue($value)
|
||||
|
|
@ -171,7 +175,7 @@ class FormField extends Text
|
|||
}
|
||||
|
||||
/**
|
||||
* Get entries
|
||||
* Get entries.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
|
|
@ -181,9 +185,10 @@ class FormField extends Text
|
|||
}
|
||||
|
||||
/**
|
||||
* Set entries
|
||||
* Set entries.
|
||||
*
|
||||
* @param array $value
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
public function setEntries($value)
|
||||
|
|
|
|||
|
|
@ -11,14 +11,14 @@
|
|||
* contributors, visit https://github.com/PHPOffice/PHPWord/contributors.
|
||||
*
|
||||
* @see https://github.com/PHPOffice/PHPWord
|
||||
* @copyright 2010-2018 PHPWord contributors
|
||||
*
|
||||
* @license http://www.gnu.org/licenses/lgpl.txt LGPL version 3
|
||||
*/
|
||||
|
||||
namespace PhpOffice\PhpWord\Element;
|
||||
|
||||
/**
|
||||
* Header element
|
||||
* Header element.
|
||||
*/
|
||||
class Header extends Footer
|
||||
{
|
||||
|
|
@ -28,10 +28,11 @@ class Header extends Footer
|
|||
protected $container = 'Header';
|
||||
|
||||
/**
|
||||
* Add a Watermark Element
|
||||
* Add a Watermark Element.
|
||||
*
|
||||
* @param string $src
|
||||
* @param mixed $style
|
||||
*
|
||||
* @return Image
|
||||
*/
|
||||
public function addWatermark($src, $style = null)
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@
|
|||
* contributors, visit https://github.com/PHPOffice/PHPWord/contributors.
|
||||
*
|
||||
* @see https://github.com/PHPOffice/PHPWord
|
||||
* @copyright 2010-2018 PHPWord contributors
|
||||
*
|
||||
* @license http://www.gnu.org/licenses/lgpl.txt LGPL version 3
|
||||
*/
|
||||
|
||||
|
|
@ -25,12 +25,12 @@ use PhpOffice\PhpWord\Shared\ZipArchive;
|
|||
use PhpOffice\PhpWord\Style\Image as ImageStyle;
|
||||
|
||||
/**
|
||||
* Image element
|
||||
* Image element.
|
||||
*/
|
||||
class Image extends AbstractElement
|
||||
{
|
||||
/**
|
||||
* Image source type constants
|
||||
* Image source type constants.
|
||||
*/
|
||||
const SOURCE_LOCAL = 'local'; // Local images
|
||||
const SOURCE_GD = 'gd'; // Generated using GD
|
||||
|
|
@ -38,106 +38,103 @@ class Image extends AbstractElement
|
|||
const SOURCE_STRING = 'string'; // Image from string
|
||||
|
||||
/**
|
||||
* Image source
|
||||
* Image source.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
private $source;
|
||||
|
||||
/**
|
||||
* Source type: local|gd|archive
|
||||
* Source type: local|gd|archive.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
private $sourceType;
|
||||
|
||||
/**
|
||||
* Image style
|
||||
* Image style.
|
||||
*
|
||||
* @var ImageStyle
|
||||
*/
|
||||
private $style;
|
||||
|
||||
/**
|
||||
* Is watermark
|
||||
* Is watermark.
|
||||
*
|
||||
* @var bool
|
||||
*/
|
||||
private $watermark;
|
||||
|
||||
/**
|
||||
* Name of image
|
||||
* Name of image.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
private $name;
|
||||
|
||||
/**
|
||||
* Image type
|
||||
* Image type.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
private $imageType;
|
||||
|
||||
/**
|
||||
* Image create function
|
||||
* Image create function.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
private $imageCreateFunc;
|
||||
|
||||
/**
|
||||
* Image function
|
||||
* Image function.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
private $imageFunc;
|
||||
|
||||
/**
|
||||
* Image extension
|
||||
* Image extension.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
private $imageExtension;
|
||||
|
||||
/**
|
||||
* Is memory image
|
||||
* Is memory image.
|
||||
*
|
||||
* @var bool
|
||||
*/
|
||||
private $memoryImage;
|
||||
|
||||
/**
|
||||
* Image target file name
|
||||
* Image target file name.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
private $target;
|
||||
|
||||
/**
|
||||
* Image media index
|
||||
* Image media index.
|
||||
*
|
||||
* @var int
|
||||
*/
|
||||
private $mediaIndex;
|
||||
|
||||
/**
|
||||
* Has media relation flag; true for Link, Image, and Object
|
||||
* Has media relation flag; true for Link, Image, and Object.
|
||||
*
|
||||
* @var bool
|
||||
*/
|
||||
protected $mediaRelation = true;
|
||||
|
||||
/**
|
||||
* Create new image element
|
||||
* Create new image element.
|
||||
*
|
||||
* @param string $source
|
||||
* @param mixed $style
|
||||
* @param bool $watermark
|
||||
* @param string $name
|
||||
*
|
||||
* @throws \PhpOffice\PhpWord\Exception\InvalidImageException
|
||||
* @throws \PhpOffice\PhpWord\Exception\UnsupportedImageTypeException
|
||||
*/
|
||||
public function __construct($source, $style = null, $watermark = false, $name = null)
|
||||
{
|
||||
|
|
@ -150,7 +147,7 @@ class Image extends AbstractElement
|
|||
}
|
||||
|
||||
/**
|
||||
* Get Image style
|
||||
* Get Image style.
|
||||
*
|
||||
* @return ImageStyle
|
||||
*/
|
||||
|
|
@ -160,7 +157,7 @@ class Image extends AbstractElement
|
|||
}
|
||||
|
||||
/**
|
||||
* Get image source
|
||||
* Get image source.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
|
|
@ -170,7 +167,7 @@ class Image extends AbstractElement
|
|||
}
|
||||
|
||||
/**
|
||||
* Get image source type
|
||||
* Get image source type.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
|
|
@ -180,17 +177,17 @@ class Image extends AbstractElement
|
|||
}
|
||||
|
||||
/**
|
||||
* Sets the image name
|
||||
* Sets the image name.
|
||||
*
|
||||
* @param string $value
|
||||
*/
|
||||
public function setName($value)
|
||||
public function setName($value): void
|
||||
{
|
||||
$this->name = $value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get image name
|
||||
* Get image name.
|
||||
*
|
||||
* @return null|string
|
||||
*/
|
||||
|
|
@ -200,7 +197,7 @@ class Image extends AbstractElement
|
|||
}
|
||||
|
||||
/**
|
||||
* Get image media ID
|
||||
* Get image media ID.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
|
|
@ -210,7 +207,7 @@ class Image extends AbstractElement
|
|||
}
|
||||
|
||||
/**
|
||||
* Get is watermark
|
||||
* Get is watermark.
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
|
|
@ -220,17 +217,17 @@ class Image extends AbstractElement
|
|||
}
|
||||
|
||||
/**
|
||||
* Set is watermark
|
||||
* Set is watermark.
|
||||
*
|
||||
* @param bool $value
|
||||
*/
|
||||
public function setIsWatermark($value)
|
||||
public function setIsWatermark($value): void
|
||||
{
|
||||
$this->watermark = $value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get image type
|
||||
* Get image type.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
|
|
@ -240,7 +237,7 @@ class Image extends AbstractElement
|
|||
}
|
||||
|
||||
/**
|
||||
* Get image create function
|
||||
* Get image create function.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
|
|
@ -250,7 +247,7 @@ class Image extends AbstractElement
|
|||
}
|
||||
|
||||
/**
|
||||
* Get image function
|
||||
* Get image function.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
|
|
@ -260,7 +257,7 @@ class Image extends AbstractElement
|
|||
}
|
||||
|
||||
/**
|
||||
* Get image extension
|
||||
* Get image extension.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
|
|
@ -270,7 +267,7 @@ class Image extends AbstractElement
|
|||
}
|
||||
|
||||
/**
|
||||
* Get is memory image
|
||||
* Get is memory image.
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
|
|
@ -280,7 +277,7 @@ class Image extends AbstractElement
|
|||
}
|
||||
|
||||
/**
|
||||
* Get target file name
|
||||
* Get target file name.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
|
|
@ -294,13 +291,13 @@ class Image extends AbstractElement
|
|||
*
|
||||
* @param string $value
|
||||
*/
|
||||
public function setTarget($value)
|
||||
public function setTarget($value): void
|
||||
{
|
||||
$this->target = $value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get media index
|
||||
* Get media index.
|
||||
*
|
||||
* @return int
|
||||
*/
|
||||
|
|
@ -314,16 +311,18 @@ class Image extends AbstractElement
|
|||
*
|
||||
* @param int $value
|
||||
*/
|
||||
public function setMediaIndex($value)
|
||||
public function setMediaIndex($value): void
|
||||
{
|
||||
$this->mediaIndex = $value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get image string data
|
||||
* Get image string data.
|
||||
*
|
||||
* @param bool $base64
|
||||
* @return string|null
|
||||
*
|
||||
* @return null|string
|
||||
*
|
||||
* @since 0.11.0
|
||||
*/
|
||||
public function getImageStringData($base64 = false)
|
||||
|
|
@ -338,7 +337,7 @@ class Image extends AbstractElement
|
|||
// Return null if not found
|
||||
if ($this->sourceType == self::SOURCE_ARCHIVE) {
|
||||
$source = substr($source, 6);
|
||||
list($zipFilename, $imageFilename) = explode('#', $source);
|
||||
[$zipFilename, $imageFilename] = explode('#', $source);
|
||||
|
||||
$zip = new ZipArchive();
|
||||
if ($zip->open($zipFilename) !== false) {
|
||||
|
|
@ -398,11 +397,8 @@ class Image extends AbstractElement
|
|||
|
||||
/**
|
||||
* Check memory image, supported type, image functions, and proportional width/height.
|
||||
*
|
||||
* @throws \PhpOffice\PhpWord\Exception\InvalidImageException
|
||||
* @throws \PhpOffice\PhpWord\Exception\UnsupportedImageTypeException
|
||||
*/
|
||||
private function checkImage()
|
||||
private function checkImage(): void
|
||||
{
|
||||
$this->setSourceType();
|
||||
|
||||
|
|
@ -417,12 +413,12 @@ class Image extends AbstractElement
|
|||
if (!is_array($imageData)) {
|
||||
throw new InvalidImageException(sprintf('Invalid image: %s', $this->source));
|
||||
}
|
||||
list($actualWidth, $actualHeight, $imageType) = $imageData;
|
||||
[$actualWidth, $actualHeight, $imageType] = $imageData;
|
||||
|
||||
// Check image type support
|
||||
$supportedTypes = array(IMAGETYPE_JPEG, IMAGETYPE_GIF, IMAGETYPE_PNG);
|
||||
$supportedTypes = [IMAGETYPE_JPEG, IMAGETYPE_GIF, IMAGETYPE_PNG];
|
||||
if ($this->sourceType != self::SOURCE_GD && $this->sourceType != self::SOURCE_STRING) {
|
||||
$supportedTypes = array_merge($supportedTypes, array(IMAGETYPE_BMP, IMAGETYPE_TIFF_II, IMAGETYPE_TIFF_MM));
|
||||
$supportedTypes = array_merge($supportedTypes, [IMAGETYPE_BMP, IMAGETYPE_TIFF_II, IMAGETYPE_TIFF_MM]);
|
||||
}
|
||||
if (!in_array($imageType, $supportedTypes)) {
|
||||
throw new UnsupportedImageTypeException();
|
||||
|
|
@ -437,7 +433,7 @@ class Image extends AbstractElement
|
|||
/**
|
||||
* Set source type.
|
||||
*/
|
||||
private function setSourceType()
|
||||
private function setSourceType(): void
|
||||
{
|
||||
if (stripos(strrev($this->source), strrev('.php')) === 0) {
|
||||
$this->memoryImage = true;
|
||||
|
|
@ -464,21 +460,19 @@ class Image extends AbstractElement
|
|||
}
|
||||
|
||||
/**
|
||||
* Get image size from archive
|
||||
* Get image size from archive.
|
||||
*
|
||||
* @since 0.12.0 Throws CreateTemporaryFileException.
|
||||
*
|
||||
* @param string $source
|
||||
*
|
||||
* @throws \PhpOffice\PhpWord\Exception\CreateTemporaryFileException
|
||||
*
|
||||
* @return array|null
|
||||
* @return null|array
|
||||
*/
|
||||
private function getArchiveImageSize($source)
|
||||
{
|
||||
$imageData = null;
|
||||
$source = substr($source, 6);
|
||||
list($zipFilename, $imageFilename) = explode('#', $source);
|
||||
[$zipFilename, $imageFilename] = explode('#', $source);
|
||||
|
||||
$tempFilename = tempnam(Settings::getTempDir(), 'PHPWordImage');
|
||||
if (false === $tempFilename) {
|
||||
|
|
@ -504,32 +498,37 @@ class Image extends AbstractElement
|
|||
/**
|
||||
* Set image functions and extensions.
|
||||
*/
|
||||
private function setFunctions()
|
||||
private function setFunctions(): void
|
||||
{
|
||||
switch ($this->imageType) {
|
||||
case 'image/png':
|
||||
$this->imageCreateFunc = $this->sourceType == self::SOURCE_STRING ? 'imagecreatefromstring' : 'imagecreatefrompng';
|
||||
$this->imageFunc = 'imagepng';
|
||||
$this->imageExtension = 'png';
|
||||
|
||||
break;
|
||||
case 'image/gif':
|
||||
$this->imageCreateFunc = $this->sourceType == self::SOURCE_STRING ? 'imagecreatefromstring' : 'imagecreatefromgif';
|
||||
$this->imageFunc = 'imagegif';
|
||||
$this->imageExtension = 'gif';
|
||||
|
||||
break;
|
||||
case 'image/jpeg':
|
||||
case 'image/jpg':
|
||||
$this->imageCreateFunc = $this->sourceType == self::SOURCE_STRING ? 'imagecreatefromstring' : 'imagecreatefromjpeg';
|
||||
$this->imageFunc = 'imagejpeg';
|
||||
$this->imageExtension = 'jpg';
|
||||
|
||||
break;
|
||||
case 'image/bmp':
|
||||
case 'image/x-ms-bmp':
|
||||
$this->imageType = 'image/bmp';
|
||||
$this->imageExtension = 'bmp';
|
||||
|
||||
break;
|
||||
case 'image/tiff':
|
||||
$this->imageExtension = 'tif';
|
||||
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
|
@ -540,7 +539,7 @@ class Image extends AbstractElement
|
|||
* @param int $actualWidth
|
||||
* @param int $actualHeight
|
||||
*/
|
||||
private function setProportionalSize($actualWidth, $actualHeight)
|
||||
private function setProportionalSize($actualWidth, $actualHeight): void
|
||||
{
|
||||
$styleWidth = $this->style->getWidth();
|
||||
$styleHeight = $this->style->getHeight();
|
||||
|
|
@ -557,7 +556,7 @@ class Image extends AbstractElement
|
|||
}
|
||||
|
||||
/**
|
||||
* Get is watermark
|
||||
* Get is watermark.
|
||||
*
|
||||
* @deprecated 0.10.0
|
||||
*
|
||||
|
|
@ -569,7 +568,7 @@ class Image extends AbstractElement
|
|||
}
|
||||
|
||||
/**
|
||||
* Get is memory image
|
||||
* Get is memory image.
|
||||
*
|
||||
* @deprecated 0.10.0
|
||||
*
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@
|
|||
* contributors, visit https://github.com/PHPOffice/PHPWord/contributors.
|
||||
*
|
||||
* @see https://github.com/PHPOffice/PHPWord
|
||||
* @copyright 2010-2018 PHPWord contributors
|
||||
*
|
||||
* @license http://www.gnu.org/licenses/lgpl.txt LGPL version 3
|
||||
*/
|
||||
|
||||
|
|
@ -20,19 +20,19 @@ namespace PhpOffice\PhpWord\Element;
|
|||
use PhpOffice\PhpWord\Style\Line as LineStyle;
|
||||
|
||||
/**
|
||||
* Line element
|
||||
* Line element.
|
||||
*/
|
||||
class Line extends AbstractElement
|
||||
{
|
||||
/**
|
||||
* Line style
|
||||
* Line style.
|
||||
*
|
||||
* @var \PhpOffice\PhpWord\Style\Line
|
||||
*/
|
||||
private $style;
|
||||
|
||||
/**
|
||||
* Create new line element
|
||||
* Create new line element.
|
||||
*
|
||||
* @param mixed $style
|
||||
*/
|
||||
|
|
@ -42,7 +42,7 @@ class Line extends AbstractElement
|
|||
}
|
||||
|
||||
/**
|
||||
* Get line style
|
||||
* Get line style.
|
||||
*
|
||||
* @return \PhpOffice\PhpWord\Style\Line
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@
|
|||
* contributors, visit https://github.com/PHPOffice/PHPWord/contributors.
|
||||
*
|
||||
* @see https://github.com/PHPOffice/PHPWord
|
||||
* @copyright 2010-2018 PHPWord contributors
|
||||
*
|
||||
* @license http://www.gnu.org/licenses/lgpl.txt LGPL version 3
|
||||
*/
|
||||
|
||||
|
|
@ -22,54 +22,54 @@ use PhpOffice\PhpWord\Style\Font;
|
|||
use PhpOffice\PhpWord\Style\Paragraph;
|
||||
|
||||
/**
|
||||
* Link element
|
||||
* Link element.
|
||||
*/
|
||||
class Link extends AbstractElement
|
||||
{
|
||||
/**
|
||||
* Link source
|
||||
* Link source.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
private $source;
|
||||
|
||||
/**
|
||||
* Link text
|
||||
* Link text.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
private $text;
|
||||
|
||||
/**
|
||||
* Font style
|
||||
* Font style.
|
||||
*
|
||||
* @var string|\PhpOffice\PhpWord\Style\Font
|
||||
* @var \PhpOffice\PhpWord\Style\Font|string
|
||||
*/
|
||||
private $fontStyle;
|
||||
|
||||
/**
|
||||
* Paragraph style
|
||||
* Paragraph style.
|
||||
*
|
||||
* @var string|\PhpOffice\PhpWord\Style\Paragraph
|
||||
* @var \PhpOffice\PhpWord\Style\Paragraph|string
|
||||
*/
|
||||
private $paragraphStyle;
|
||||
|
||||
/**
|
||||
* Has media relation flag; true for Link, Image, and Object
|
||||
* Has media relation flag; true for Link, Image, and Object.
|
||||
*
|
||||
* @var bool
|
||||
*/
|
||||
protected $mediaRelation = true;
|
||||
|
||||
/**
|
||||
* Has internal flag - anchor to internal bookmark
|
||||
* Has internal flag - anchor to internal bookmark.
|
||||
*
|
||||
* @var bool
|
||||
*/
|
||||
protected $internal = false;
|
||||
|
||||
/**
|
||||
* Create a new Link Element
|
||||
* Create a new Link Element.
|
||||
*
|
||||
* @param string $source
|
||||
* @param string $text
|
||||
|
|
@ -80,14 +80,14 @@ class Link extends AbstractElement
|
|||
public function __construct($source, $text = null, $fontStyle = null, $paragraphStyle = null, $internal = false)
|
||||
{
|
||||
$this->source = SharedText::toUTF8($source);
|
||||
$this->text = is_null($text) ? $this->source : SharedText::toUTF8($text);
|
||||
$this->text = null === $text ? $this->source : SharedText::toUTF8($text);
|
||||
$this->fontStyle = $this->setNewStyle(new Font('text'), $fontStyle);
|
||||
$this->paragraphStyle = $this->setNewStyle(new Paragraph(), $paragraphStyle);
|
||||
$this->internal = $internal;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get link source
|
||||
* Get link source.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
|
|
@ -97,7 +97,7 @@ class Link extends AbstractElement
|
|||
}
|
||||
|
||||
/**
|
||||
* Get link text
|
||||
* Get link text.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
|
|
@ -107,9 +107,9 @@ class Link extends AbstractElement
|
|||
}
|
||||
|
||||
/**
|
||||
* Get Text style
|
||||
* Get Text style.
|
||||
*
|
||||
* @return string|\PhpOffice\PhpWord\Style\Font
|
||||
* @return \PhpOffice\PhpWord\Style\Font|string
|
||||
*/
|
||||
public function getFontStyle()
|
||||
{
|
||||
|
|
@ -117,9 +117,9 @@ class Link extends AbstractElement
|
|||
}
|
||||
|
||||
/**
|
||||
* Get Paragraph style
|
||||
* Get Paragraph style.
|
||||
*
|
||||
* @return string|\PhpOffice\PhpWord\Style\Paragraph
|
||||
* @return \PhpOffice\PhpWord\Style\Paragraph|string
|
||||
*/
|
||||
public function getParagraphStyle()
|
||||
{
|
||||
|
|
@ -127,7 +127,7 @@ class Link extends AbstractElement
|
|||
}
|
||||
|
||||
/**
|
||||
* Get link target
|
||||
* Get link target.
|
||||
*
|
||||
* @deprecated 0.12.0
|
||||
*
|
||||
|
|
@ -141,7 +141,7 @@ class Link extends AbstractElement
|
|||
}
|
||||
|
||||
/**
|
||||
* Get Link source
|
||||
* Get Link source.
|
||||
*
|
||||
* @deprecated 0.10.0
|
||||
*
|
||||
|
|
@ -155,7 +155,7 @@ class Link extends AbstractElement
|
|||
}
|
||||
|
||||
/**
|
||||
* Get Link name
|
||||
* Get Link name.
|
||||
*
|
||||
* @deprecated 0.10.0
|
||||
*
|
||||
|
|
@ -169,7 +169,7 @@ class Link extends AbstractElement
|
|||
}
|
||||
|
||||
/**
|
||||
* is internal
|
||||
* is internal.
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@
|
|||
* contributors, visit https://github.com/PHPOffice/PHPWord/contributors.
|
||||
*
|
||||
* @see https://github.com/PHPOffice/PHPWord
|
||||
* @copyright 2010-2018 PHPWord contributors
|
||||
*
|
||||
* @license http://www.gnu.org/licenses/lgpl.txt LGPL version 3
|
||||
*/
|
||||
|
||||
|
|
@ -21,38 +21,38 @@ use PhpOffice\PhpWord\Shared\Text as SharedText;
|
|||
use PhpOffice\PhpWord\Style\ListItem as ListItemStyle;
|
||||
|
||||
/**
|
||||
* List item element
|
||||
* List item element.
|
||||
*/
|
||||
class ListItem extends AbstractElement
|
||||
{
|
||||
/**
|
||||
* Element style
|
||||
* Element style.
|
||||
*
|
||||
* @var \PhpOffice\PhpWord\Style\ListItem
|
||||
*/
|
||||
private $style;
|
||||
|
||||
/**
|
||||
* Text object
|
||||
* Text object.
|
||||
*
|
||||
* @var \PhpOffice\PhpWord\Element\Text
|
||||
*/
|
||||
private $textObject;
|
||||
|
||||
/**
|
||||
* Depth
|
||||
* Depth.
|
||||
*
|
||||
* @var int
|
||||
*/
|
||||
private $depth;
|
||||
|
||||
/**
|
||||
* Create a new ListItem
|
||||
* Create a new ListItem.
|
||||
*
|
||||
* @param string $text
|
||||
* @param int $depth
|
||||
* @param mixed $fontStyle
|
||||
* @param array|string|null $listStyle
|
||||
* @param null|array|string $listStyle
|
||||
* @param mixed $paragraphStyle
|
||||
*/
|
||||
public function __construct($text, $depth = 0, $fontStyle = null, $listStyle = null, $paragraphStyle = null)
|
||||
|
|
@ -61,7 +61,7 @@ class ListItem extends AbstractElement
|
|||
$this->depth = $depth;
|
||||
|
||||
// Version >= 0.10.0 will pass numbering style name. Older version will use old method
|
||||
if (!is_null($listStyle) && is_string($listStyle)) {
|
||||
if (null !== $listStyle && is_string($listStyle)) {
|
||||
$this->style = new ListItemStyle($listStyle); // @codeCoverageIgnore
|
||||
} else {
|
||||
$this->style = $this->setNewStyle(new ListItemStyle(), $listStyle, true);
|
||||
|
|
@ -69,7 +69,7 @@ class ListItem extends AbstractElement
|
|||
}
|
||||
|
||||
/**
|
||||
* Get style
|
||||
* Get style.
|
||||
*
|
||||
* @return \PhpOffice\PhpWord\Style\ListItem
|
||||
*/
|
||||
|
|
@ -79,7 +79,7 @@ class ListItem extends AbstractElement
|
|||
}
|
||||
|
||||
/**
|
||||
* Get Text object
|
||||
* Get Text object.
|
||||
*
|
||||
* @return \PhpOffice\PhpWord\Element\Text
|
||||
*/
|
||||
|
|
@ -89,7 +89,7 @@ class ListItem extends AbstractElement
|
|||
}
|
||||
|
||||
/**
|
||||
* Get depth
|
||||
* Get depth.
|
||||
*
|
||||
* @return int
|
||||
*/
|
||||
|
|
@ -99,9 +99,10 @@ class ListItem extends AbstractElement
|
|||
}
|
||||
|
||||
/**
|
||||
* Get text
|
||||
* Get text.
|
||||
*
|
||||
* @return string
|
||||
*
|
||||
* @since 0.11.0
|
||||
*/
|
||||
public function getText()
|
||||
|
|
|
|||
|
|
@ -1,26 +1,26 @@
|
|||
<?php
|
||||
/**
|
||||
* This file is part of PHPWord - A pure PHP library for reading and writing
|
||||
* word processing documents.
|
||||
*
|
||||
* PHPWord is free software distributed under the terms of the GNU Lesser
|
||||
* General Public License version 3 as published by the Free Software Foundation.
|
||||
*
|
||||
* For the full copyright and license information, please read the LICENSE
|
||||
* file that was distributed with this source code. For the full list of
|
||||
* contributors, visit https://github.com/PHPOffice/PHPWord/contributors.
|
||||
*
|
||||
* @see https://github.com/PHPOffice/PHPWord
|
||||
* @copyright 2010-2018 PHPWord contributors
|
||||
* @license http://www.gnu.org/licenses/lgpl.txt LGPL version 3
|
||||
*/
|
||||
* word processing documents.
|
||||
*
|
||||
* PHPWord is free software distributed under the terms of the GNU Lesser
|
||||
* General Public License version 3 as published by the Free Software Foundation.
|
||||
*
|
||||
* For the full copyright and license information, please read the LICENSE
|
||||
* file that was distributed with this source code. For the full list of
|
||||
* contributors, visit https://github.com/PHPOffice/PHPWord/contributors.
|
||||
*
|
||||
* @see https://github.com/PHPOffice/PHPWord
|
||||
*
|
||||
* @license http://www.gnu.org/licenses/lgpl.txt LGPL version 3
|
||||
*/
|
||||
|
||||
namespace PhpOffice\PhpWord\Element;
|
||||
|
||||
use PhpOffice\PhpWord\Style\ListItem as ListItemStyle;
|
||||
|
||||
/**
|
||||
* List item element
|
||||
* List item element.
|
||||
*/
|
||||
class ListItemRun extends TextRun
|
||||
{
|
||||
|
|
@ -30,24 +30,24 @@ class ListItemRun extends TextRun
|
|||
protected $container = 'ListItemRun';
|
||||
|
||||
/**
|
||||
* ListItem Style
|
||||
* ListItem Style.
|
||||
*
|
||||
* @var \PhpOffice\PhpWord\Style\ListItem
|
||||
*/
|
||||
private $style;
|
||||
|
||||
/**
|
||||
* ListItem Depth
|
||||
* ListItem Depth.
|
||||
*
|
||||
* @var int
|
||||
*/
|
||||
private $depth;
|
||||
|
||||
/**
|
||||
* Create a new ListItem
|
||||
* Create a new ListItem.
|
||||
*
|
||||
* @param int $depth
|
||||
* @param array|string|null $listStyle
|
||||
* @param null|array|string $listStyle
|
||||
* @param mixed $paragraphStyle
|
||||
*/
|
||||
public function __construct($depth = 0, $listStyle = null, $paragraphStyle = null)
|
||||
|
|
@ -55,7 +55,7 @@ class ListItemRun extends TextRun
|
|||
$this->depth = $depth;
|
||||
|
||||
// Version >= 0.10.0 will pass numbering style name. Older version will use old method
|
||||
if (!is_null($listStyle) && is_string($listStyle)) {
|
||||
if (null !== $listStyle && is_string($listStyle)) {
|
||||
$this->style = new ListItemStyle($listStyle);
|
||||
} else {
|
||||
$this->style = $this->setNewStyle(new ListItemStyle(), $listStyle, true);
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@
|
|||
* contributors, visit https://github.com/PHPOffice/PHPWord/contributors.
|
||||
*
|
||||
* @see https://github.com/PHPOffice/PHPWord
|
||||
* @copyright 2010-2018 PHPWord contributors
|
||||
*
|
||||
* @license http://www.gnu.org/licenses/lgpl.txt LGPL version 3
|
||||
*/
|
||||
|
||||
|
|
@ -21,56 +21,54 @@ use PhpOffice\PhpWord\Exception\InvalidObjectException;
|
|||
use PhpOffice\PhpWord\Style\Image as ImageStyle;
|
||||
|
||||
/**
|
||||
* OLEObject element
|
||||
* OLEObject element.
|
||||
*/
|
||||
class OLEObject extends AbstractElement
|
||||
{
|
||||
/**
|
||||
* Ole-Object Src
|
||||
* Ole-Object Src.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
private $source;
|
||||
|
||||
/**
|
||||
* Image Style
|
||||
* Image Style.
|
||||
*
|
||||
* @var \PhpOffice\PhpWord\Style\Image
|
||||
*/
|
||||
private $style;
|
||||
|
||||
/**
|
||||
* Icon
|
||||
* Icon.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
private $icon;
|
||||
|
||||
/**
|
||||
* Image Relation ID
|
||||
* Image Relation ID.
|
||||
*
|
||||
* @var int
|
||||
*/
|
||||
private $imageRelationId;
|
||||
|
||||
/**
|
||||
* Has media relation flag; true for Link, Image, and Object
|
||||
* Has media relation flag; true for Link, Image, and Object.
|
||||
*
|
||||
* @var bool
|
||||
*/
|
||||
protected $mediaRelation = true;
|
||||
|
||||
/**
|
||||
* Create a new Ole-Object Element
|
||||
* Create a new Ole-Object Element.
|
||||
*
|
||||
* @param string $source
|
||||
* @param mixed $style
|
||||
*
|
||||
* @throws \PhpOffice\PhpWord\Exception\InvalidObjectException
|
||||
*/
|
||||
public function __construct($source, $style = null)
|
||||
{
|
||||
$supportedTypes = array('xls', 'doc', 'ppt', 'xlsx', 'docx', 'pptx');
|
||||
$supportedTypes = ['xls', 'doc', 'ppt', 'xlsx', 'docx', 'pptx'];
|
||||
$pathInfo = pathinfo($source);
|
||||
|
||||
if (file_exists($source) && in_array($pathInfo['extension'], $supportedTypes)) {
|
||||
|
|
@ -90,7 +88,7 @@ class OLEObject extends AbstractElement
|
|||
}
|
||||
|
||||
/**
|
||||
* Get object source
|
||||
* Get object source.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
|
|
@ -100,7 +98,7 @@ class OLEObject extends AbstractElement
|
|||
}
|
||||
|
||||
/**
|
||||
* Get object style
|
||||
* Get object style.
|
||||
*
|
||||
* @return \PhpOffice\PhpWord\Style\Image
|
||||
*/
|
||||
|
|
@ -110,7 +108,7 @@ class OLEObject extends AbstractElement
|
|||
}
|
||||
|
||||
/**
|
||||
* Get object icon
|
||||
* Get object icon.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
|
|
@ -120,7 +118,7 @@ class OLEObject extends AbstractElement
|
|||
}
|
||||
|
||||
/**
|
||||
* Get image relation ID
|
||||
* Get image relation ID.
|
||||
*
|
||||
* @return int
|
||||
*/
|
||||
|
|
@ -134,13 +132,13 @@ class OLEObject extends AbstractElement
|
|||
*
|
||||
* @param int $rId
|
||||
*/
|
||||
public function setImageRelationId($rId)
|
||||
public function setImageRelationId($rId): void
|
||||
{
|
||||
$this->imageRelationId = $rId;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get Object ID
|
||||
* Get Object ID.
|
||||
*
|
||||
* @deprecated 0.10.0
|
||||
*
|
||||
|
|
@ -154,7 +152,7 @@ class OLEObject extends AbstractElement
|
|||
}
|
||||
|
||||
/**
|
||||
* Set Object ID
|
||||
* Set Object ID.
|
||||
*
|
||||
* @deprecated 0.10.0
|
||||
*
|
||||
|
|
@ -162,7 +160,7 @@ class OLEObject extends AbstractElement
|
|||
*
|
||||
* @codeCoverageIgnore
|
||||
*/
|
||||
public function setObjectId($objId)
|
||||
public function setObjectId($objId): void
|
||||
{
|
||||
$this->relationId = $objId;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,19 +11,19 @@
|
|||
* contributors, visit https://github.com/PHPOffice/PHPWord/contributors.
|
||||
*
|
||||
* @see https://github.com/PHPOffice/PHPWord
|
||||
* @copyright 2010-2018 PHPWord contributors
|
||||
*
|
||||
* @license http://www.gnu.org/licenses/lgpl.txt LGPL version 3
|
||||
*/
|
||||
|
||||
namespace PhpOffice\PhpWord\Element;
|
||||
|
||||
/**
|
||||
* Page break element
|
||||
* Page break element.
|
||||
*/
|
||||
class PageBreak extends AbstractElement
|
||||
{
|
||||
/**
|
||||
* Create new page break
|
||||
* Create new page break.
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@
|
|||
* contributors, visit https://github.com/PHPOffice/PHPWord/contributors.
|
||||
*
|
||||
* @see https://github.com/PHPOffice/PHPWord
|
||||
* @copyright 2010-2018 PHPWord contributors
|
||||
*
|
||||
* @license http://www.gnu.org/licenses/lgpl.txt LGPL version 3
|
||||
*/
|
||||
|
||||
|
|
@ -22,33 +22,33 @@ use PhpOffice\PhpWord\Style\Font;
|
|||
use PhpOffice\PhpWord\Style\Paragraph;
|
||||
|
||||
/**
|
||||
* Preserve text/field element
|
||||
* Preserve text/field element.
|
||||
*/
|
||||
class PreserveText extends AbstractElement
|
||||
{
|
||||
/**
|
||||
* Text content
|
||||
* Text content.
|
||||
*
|
||||
* @var string|array
|
||||
* @var array|string
|
||||
*/
|
||||
private $text;
|
||||
|
||||
/**
|
||||
* Text style
|
||||
* Text style.
|
||||
*
|
||||
* @var string|\PhpOffice\PhpWord\Style\Font
|
||||
* @var \PhpOffice\PhpWord\Style\Font|string
|
||||
*/
|
||||
private $fontStyle;
|
||||
|
||||
/**
|
||||
* Paragraph style
|
||||
* Paragraph style.
|
||||
*
|
||||
* @var string|\PhpOffice\PhpWord\Style\Paragraph
|
||||
* @var \PhpOffice\PhpWord\Style\Paragraph|string
|
||||
*/
|
||||
private $paragraphStyle;
|
||||
|
||||
/**
|
||||
* Create a new Preserve Text Element
|
||||
* Create a new Preserve Text Element.
|
||||
*
|
||||
* @param string $text
|
||||
* @param mixed $fontStyle
|
||||
|
|
@ -67,9 +67,9 @@ class PreserveText extends AbstractElement
|
|||
}
|
||||
|
||||
/**
|
||||
* Get Text style
|
||||
* Get Text style.
|
||||
*
|
||||
* @return string|\PhpOffice\PhpWord\Style\Font
|
||||
* @return \PhpOffice\PhpWord\Style\Font|string
|
||||
*/
|
||||
public function getFontStyle()
|
||||
{
|
||||
|
|
@ -77,9 +77,9 @@ class PreserveText extends AbstractElement
|
|||
}
|
||||
|
||||
/**
|
||||
* Get Paragraph style
|
||||
* Get Paragraph style.
|
||||
*
|
||||
* @return string|\PhpOffice\PhpWord\Style\Paragraph
|
||||
* @return \PhpOffice\PhpWord\Style\Paragraph|string
|
||||
*/
|
||||
public function getParagraphStyle()
|
||||
{
|
||||
|
|
@ -87,9 +87,9 @@ class PreserveText extends AbstractElement
|
|||
}
|
||||
|
||||
/**
|
||||
* Get Text content
|
||||
* Get Text content.
|
||||
*
|
||||
* @return string|array
|
||||
* @return array|string
|
||||
*/
|
||||
public function getText()
|
||||
{
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@
|
|||
* contributors, visit https://github.com/PHPOffice/PHPWord/contributors.
|
||||
*
|
||||
* @see https://github.com/PHPOffice/PHPWord
|
||||
* @copyright 2010-2018 PHPWord contributors
|
||||
*
|
||||
* @license http://www.gnu.org/licenses/lgpl.txt LGPL version 3
|
||||
*/
|
||||
|
||||
|
|
@ -20,35 +20,35 @@ namespace PhpOffice\PhpWord\Element;
|
|||
use PhpOffice\PhpWord\Style\Row as RowStyle;
|
||||
|
||||
/**
|
||||
* Table row element
|
||||
* Table row element.
|
||||
*
|
||||
* @since 0.8.0
|
||||
*/
|
||||
class Row extends AbstractElement
|
||||
{
|
||||
/**
|
||||
* Row height
|
||||
* Row height.
|
||||
*
|
||||
* @var int
|
||||
*/
|
||||
private $height = null;
|
||||
private $height;
|
||||
|
||||
/**
|
||||
* Row style
|
||||
* Row style.
|
||||
*
|
||||
* @var \PhpOffice\PhpWord\Style\Row
|
||||
*/
|
||||
private $style;
|
||||
|
||||
/**
|
||||
* Row cells
|
||||
* Row cells.
|
||||
*
|
||||
* @var \PhpOffice\PhpWord\Element\Cell[]
|
||||
*/
|
||||
private $cells = array();
|
||||
private $cells = [];
|
||||
|
||||
/**
|
||||
* Create a new table row
|
||||
* Create a new table row.
|
||||
*
|
||||
* @param int $height
|
||||
* @param mixed $style
|
||||
|
|
@ -60,10 +60,11 @@ class Row extends AbstractElement
|
|||
}
|
||||
|
||||
/**
|
||||
* Add a cell
|
||||
* Add a cell.
|
||||
*
|
||||
* @param int $width
|
||||
* @param mixed $style
|
||||
*
|
||||
* @return \PhpOffice\PhpWord\Element\Cell
|
||||
*/
|
||||
public function addCell($width = null, $style = null)
|
||||
|
|
@ -76,7 +77,7 @@ class Row extends AbstractElement
|
|||
}
|
||||
|
||||
/**
|
||||
* Get all cells
|
||||
* Get all cells.
|
||||
*
|
||||
* @return \PhpOffice\PhpWord\Element\Cell[]
|
||||
*/
|
||||
|
|
@ -86,7 +87,7 @@ class Row extends AbstractElement
|
|||
}
|
||||
|
||||
/**
|
||||
* Get row style
|
||||
* Get row style.
|
||||
*
|
||||
* @return \PhpOffice\PhpWord\Style\Row
|
||||
*/
|
||||
|
|
@ -96,7 +97,7 @@ class Row extends AbstractElement
|
|||
}
|
||||
|
||||
/**
|
||||
* Get row height
|
||||
* Get row height.
|
||||
*
|
||||
* @return int
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -11,56 +11,56 @@
|
|||
* contributors, visit https://github.com/PHPOffice/PHPWord/contributors.
|
||||
*
|
||||
* @see https://github.com/PHPOffice/PHPWord
|
||||
* @copyright 2010-2018 PHPWord contributors
|
||||
*
|
||||
* @license http://www.gnu.org/licenses/lgpl.txt LGPL version 3
|
||||
*/
|
||||
|
||||
namespace PhpOffice\PhpWord\Element;
|
||||
|
||||
/**
|
||||
* Structured document tag (SDT) element
|
||||
* Structured document tag (SDT) element.
|
||||
*
|
||||
* @since 0.12.0
|
||||
*/
|
||||
class SDT extends Text
|
||||
{
|
||||
/**
|
||||
* Form field type: comboBox|dropDownList|date
|
||||
* Form field type: comboBox|dropDownList|date.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
private $type;
|
||||
|
||||
/**
|
||||
* Value
|
||||
* Value.
|
||||
*
|
||||
* @var string|bool|int
|
||||
* @var bool|int|string
|
||||
*/
|
||||
private $value;
|
||||
|
||||
/**
|
||||
* CheckBox/DropDown list entries
|
||||
* CheckBox/DropDown list entries.
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
private $listItems = array();
|
||||
private $listItems = [];
|
||||
|
||||
/**
|
||||
* Alias
|
||||
* Alias.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
private $alias;
|
||||
|
||||
/**
|
||||
* Tag
|
||||
* Tag.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
private $tag;
|
||||
|
||||
/**
|
||||
* Create new instance
|
||||
* Create new instance.
|
||||
*
|
||||
* @param string $type
|
||||
* @param mixed $fontStyle
|
||||
|
|
@ -73,7 +73,7 @@ class SDT extends Text
|
|||
}
|
||||
|
||||
/**
|
||||
* Get type
|
||||
* Get type.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
|
|
@ -83,23 +83,24 @@ class SDT extends Text
|
|||
}
|
||||
|
||||
/**
|
||||
* Set type
|
||||
* Set type.
|
||||
*
|
||||
* @param string $value
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
public function setType($value)
|
||||
{
|
||||
$enum = array('plainText', 'comboBox', 'dropDownList', 'date');
|
||||
$enum = ['plainText', 'comboBox', 'dropDownList', 'date'];
|
||||
$this->type = $this->setEnumVal($value, $enum, 'comboBox');
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get value
|
||||
* Get value.
|
||||
*
|
||||
* @return string|bool|int
|
||||
* @return bool|int|string
|
||||
*/
|
||||
public function getValue()
|
||||
{
|
||||
|
|
@ -107,9 +108,10 @@ class SDT extends Text
|
|||
}
|
||||
|
||||
/**
|
||||
* Set value
|
||||
* Set value.
|
||||
*
|
||||
* @param bool|int|string $value
|
||||
*
|
||||
* @param string|bool|int $value
|
||||
* @return self
|
||||
*/
|
||||
public function setValue($value)
|
||||
|
|
@ -120,7 +122,7 @@ class SDT extends Text
|
|||
}
|
||||
|
||||
/**
|
||||
* Get listItems
|
||||
* Get listItems.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
|
|
@ -130,9 +132,10 @@ class SDT extends Text
|
|||
}
|
||||
|
||||
/**
|
||||
* Set listItems
|
||||
* Set listItems.
|
||||
*
|
||||
* @param array $value
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
public function setListItems($value)
|
||||
|
|
@ -143,7 +146,7 @@ class SDT extends Text
|
|||
}
|
||||
|
||||
/**
|
||||
* Get tag
|
||||
* Get tag.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
|
|
@ -153,9 +156,10 @@ class SDT extends Text
|
|||
}
|
||||
|
||||
/**
|
||||
* Set tag
|
||||
* Set tag.
|
||||
*
|
||||
* @param string $tag
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
public function setTag($tag)
|
||||
|
|
@ -166,7 +170,7 @@ class SDT extends Text
|
|||
}
|
||||
|
||||
/**
|
||||
* Get alias
|
||||
* Get alias.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
|
|
@ -176,9 +180,10 @@ class SDT extends Text
|
|||
}
|
||||
|
||||
/**
|
||||
* Set alias
|
||||
* Set alias.
|
||||
*
|
||||
* @param string $alias
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
public function setAlias($alias)
|
||||
|
|
|
|||
|
|
@ -11,12 +11,13 @@
|
|||
* contributors, visit https://github.com/PHPOffice/PHPWord/contributors.
|
||||
*
|
||||
* @see https://github.com/PHPOffice/PHPWord
|
||||
* @copyright 2010-2018 PHPWord contributors
|
||||
*
|
||||
* @license http://www.gnu.org/licenses/lgpl.txt LGPL version 3
|
||||
*/
|
||||
|
||||
namespace PhpOffice\PhpWord\Element;
|
||||
|
||||
use Exception;
|
||||
use PhpOffice\PhpWord\ComplexType\FootnoteProperties;
|
||||
use PhpOffice\PhpWord\Style\Section as SectionStyle;
|
||||
|
||||
|
|
@ -28,35 +29,35 @@ class Section extends AbstractContainer
|
|||
protected $container = 'Section';
|
||||
|
||||
/**
|
||||
* Section style
|
||||
* Section style.
|
||||
*
|
||||
* @var \PhpOffice\PhpWord\Style\Section
|
||||
*/
|
||||
private $style;
|
||||
|
||||
/**
|
||||
* Section headers, indexed from 1, not zero
|
||||
* Section headers, indexed from 1, not zero.
|
||||
*
|
||||
* @var Header[]
|
||||
*/
|
||||
private $headers = array();
|
||||
private $headers = [];
|
||||
|
||||
/**
|
||||
* Section footers, indexed from 1, not zero
|
||||
* Section footers, indexed from 1, not zero.
|
||||
*
|
||||
* @var Footer[]
|
||||
*/
|
||||
private $footers = array();
|
||||
private $footers = [];
|
||||
|
||||
/**
|
||||
* The properties for the footnote of this section
|
||||
* The properties for the footnote of this section.
|
||||
*
|
||||
* @var FootnoteProperties
|
||||
*/
|
||||
private $footnoteProperties;
|
||||
|
||||
/**
|
||||
* Create new instance
|
||||
* Create new instance.
|
||||
*
|
||||
* @param int $sectionCount
|
||||
* @param null|array|\PhpOffice\PhpWord\Style $style
|
||||
|
|
@ -76,15 +77,15 @@ class Section extends AbstractContainer
|
|||
*
|
||||
* @param array $style
|
||||
*/
|
||||
public function setStyle($style = null)
|
||||
public function setStyle($style = null): void
|
||||
{
|
||||
if (!is_null($style) && is_array($style)) {
|
||||
if (null !== $style && is_array($style)) {
|
||||
$this->style->setStyleByArray($style);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get section style
|
||||
* Get section style.
|
||||
*
|
||||
* @return \PhpOffice\PhpWord\Style\Section
|
||||
*/
|
||||
|
|
@ -94,7 +95,7 @@ class Section extends AbstractContainer
|
|||
}
|
||||
|
||||
/**
|
||||
* Add header
|
||||
* Add header.
|
||||
*
|
||||
* @since 0.10.0
|
||||
*
|
||||
|
|
@ -108,7 +109,7 @@ class Section extends AbstractContainer
|
|||
}
|
||||
|
||||
/**
|
||||
* Add footer
|
||||
* Add footer.
|
||||
*
|
||||
* @since 0.10.0
|
||||
*
|
||||
|
|
@ -122,7 +123,7 @@ class Section extends AbstractContainer
|
|||
}
|
||||
|
||||
/**
|
||||
* Get header elements
|
||||
* Get header elements.
|
||||
*
|
||||
* @return Header[]
|
||||
*/
|
||||
|
|
@ -132,7 +133,7 @@ class Section extends AbstractContainer
|
|||
}
|
||||
|
||||
/**
|
||||
* Get footer elements
|
||||
* Get footer elements.
|
||||
*
|
||||
* @return Footer[]
|
||||
*/
|
||||
|
|
@ -142,7 +143,7 @@ class Section extends AbstractContainer
|
|||
}
|
||||
|
||||
/**
|
||||
* Get the footnote properties
|
||||
* Get the footnote properties.
|
||||
*
|
||||
* @return FootnoteProperties
|
||||
*/
|
||||
|
|
@ -152,7 +153,7 @@ class Section extends AbstractContainer
|
|||
}
|
||||
|
||||
/**
|
||||
* Get the footnote properties
|
||||
* Get the footnote properties.
|
||||
*
|
||||
* @deprecated Use the `getFootnoteProperties` method instead
|
||||
*
|
||||
|
|
@ -166,11 +167,11 @@ class Section extends AbstractContainer
|
|||
}
|
||||
|
||||
/**
|
||||
* Set the footnote properties
|
||||
* Set the footnote properties.
|
||||
*
|
||||
* @param FootnoteProperties $footnoteProperties
|
||||
*/
|
||||
public function setFootnoteProperties(FootnoteProperties $footnoteProperties = null)
|
||||
public function setFootnoteProperties(?FootnoteProperties $footnoteProperties = null): void
|
||||
{
|
||||
$this->footnoteProperties = $footnoteProperties;
|
||||
}
|
||||
|
|
@ -200,25 +201,23 @@ class Section extends AbstractContainer
|
|||
}
|
||||
|
||||
/**
|
||||
* Add header/footer
|
||||
* Add header/footer.
|
||||
*
|
||||
* @since 0.10.0
|
||||
*
|
||||
* @param string $type
|
||||
* @param bool $header
|
||||
*
|
||||
* @throws \Exception
|
||||
*
|
||||
* @return Header|Footer
|
||||
* @return Footer|Header
|
||||
*/
|
||||
private function addHeaderFooter($type = Header::AUTO, $header = true)
|
||||
{
|
||||
$containerClass = substr(get_class($this), 0, strrpos(get_class($this), '\\')) . '\\' .
|
||||
$containerClass = substr(static::class, 0, strrpos(static::class, '\\')) . '\\' .
|
||||
($header ? 'Header' : 'Footer');
|
||||
$collectionArray = $header ? 'headers' : 'footers';
|
||||
$collection = &$this->$collectionArray;
|
||||
|
||||
if (in_array($type, array(Header::AUTO, Header::FIRST, Header::EVEN))) {
|
||||
if (in_array($type, [Header::AUTO, Header::FIRST, Header::EVEN])) {
|
||||
$index = count($collection);
|
||||
/** @var \PhpOffice\PhpWord\Element\AbstractContainer $container Type hint */
|
||||
$container = new $containerClass($this->sectionId, ++$index, $type);
|
||||
|
|
@ -228,11 +227,12 @@ class Section extends AbstractContainer
|
|||
|
||||
return $container;
|
||||
}
|
||||
throw new \Exception('Invalid header/footer type.');
|
||||
|
||||
throw new Exception('Invalid header/footer type.');
|
||||
}
|
||||
|
||||
/**
|
||||
* Set section style
|
||||
* Set section style.
|
||||
*
|
||||
* @deprecated 0.12.0
|
||||
*
|
||||
|
|
@ -240,13 +240,13 @@ class Section extends AbstractContainer
|
|||
*
|
||||
* @codeCoverageIgnore
|
||||
*/
|
||||
public function setSettings($settings = null)
|
||||
public function setSettings($settings = null): void
|
||||
{
|
||||
$this->setStyle($settings);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get section style
|
||||
* Get section style.
|
||||
*
|
||||
* @deprecated 0.12.0
|
||||
*
|
||||
|
|
@ -260,7 +260,7 @@ class Section extends AbstractContainer
|
|||
}
|
||||
|
||||
/**
|
||||
* Create header
|
||||
* Create header.
|
||||
*
|
||||
* @deprecated 0.10.0
|
||||
*
|
||||
|
|
@ -274,7 +274,7 @@ class Section extends AbstractContainer
|
|||
}
|
||||
|
||||
/**
|
||||
* Create footer
|
||||
* Create footer.
|
||||
*
|
||||
* @deprecated 0.10.0
|
||||
*
|
||||
|
|
@ -288,7 +288,7 @@ class Section extends AbstractContainer
|
|||
}
|
||||
|
||||
/**
|
||||
* Get footer
|
||||
* Get footer.
|
||||
*
|
||||
* @deprecated 0.10.0
|
||||
*
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@
|
|||
* contributors, visit https://github.com/PHPOffice/PHPWord/contributors.
|
||||
*
|
||||
* @see https://github.com/PHPOffice/PHPWord
|
||||
* @copyright 2010-2018 PHPWord contributors
|
||||
*
|
||||
* @license http://www.gnu.org/licenses/lgpl.txt LGPL version 3
|
||||
*/
|
||||
|
||||
|
|
@ -20,28 +20,28 @@ namespace PhpOffice\PhpWord\Element;
|
|||
use PhpOffice\PhpWord\Style\Shape as ShapeStyle;
|
||||
|
||||
/**
|
||||
* Shape element
|
||||
* Shape element.
|
||||
*
|
||||
* @since 0.12.0
|
||||
*/
|
||||
class Shape extends AbstractElement
|
||||
{
|
||||
/**
|
||||
* Shape type arc|curve|line|polyline|rect|oval
|
||||
* Shape type arc|curve|line|polyline|rect|oval.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
private $type;
|
||||
|
||||
/**
|
||||
* Shape style
|
||||
* Shape style.
|
||||
*
|
||||
* @var \PhpOffice\PhpWord\Style\Shape
|
||||
*/
|
||||
private $style;
|
||||
|
||||
/**
|
||||
* Create new instance
|
||||
* Create new instance.
|
||||
*
|
||||
* @param string $type
|
||||
* @param mixed $style
|
||||
|
|
@ -53,7 +53,7 @@ class Shape extends AbstractElement
|
|||
}
|
||||
|
||||
/**
|
||||
* Get type
|
||||
* Get type.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
|
|
@ -63,21 +63,22 @@ class Shape extends AbstractElement
|
|||
}
|
||||
|
||||
/**
|
||||
* Set pattern
|
||||
* Set pattern.
|
||||
*
|
||||
* @param string $value
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
public function setType($value = null)
|
||||
{
|
||||
$enum = array('arc', 'curve', 'line', 'polyline', 'rect', 'oval');
|
||||
$enum = ['arc', 'curve', 'line', 'polyline', 'rect', 'oval'];
|
||||
$this->type = $this->setEnumVal($value, $enum, null);
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get shape style
|
||||
* Get shape style.
|
||||
*
|
||||
* @return \PhpOffice\PhpWord\Style\Shape
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@
|
|||
* contributors, visit https://github.com/PHPOffice/PHPWord/contributors.
|
||||
*
|
||||
* @see https://github.com/PHPOffice/PHPWord
|
||||
* @copyright 2010-2018 PHPWord contributors
|
||||
*
|
||||
* @license http://www.gnu.org/licenses/lgpl.txt LGPL version 3
|
||||
*/
|
||||
|
||||
|
|
@ -22,40 +22,40 @@ use PhpOffice\PhpWord\Style\Font;
|
|||
use PhpOffice\PhpWord\Style\TOC as TOCStyle;
|
||||
|
||||
/**
|
||||
* Table of contents
|
||||
* Table of contents.
|
||||
*/
|
||||
class TOC extends AbstractElement
|
||||
{
|
||||
/**
|
||||
* TOC style
|
||||
* TOC style.
|
||||
*
|
||||
* @var \PhpOffice\PhpWord\Style\TOC
|
||||
*/
|
||||
private $TOCStyle;
|
||||
|
||||
/**
|
||||
* Font style
|
||||
* Font style.
|
||||
*
|
||||
* @var \PhpOffice\PhpWord\Style\Font|string
|
||||
*/
|
||||
private $fontStyle;
|
||||
|
||||
/**
|
||||
* Min title depth to show
|
||||
* Min title depth to show.
|
||||
*
|
||||
* @var int
|
||||
*/
|
||||
private $minDepth = 1;
|
||||
|
||||
/**
|
||||
* Max title depth to show
|
||||
* Max title depth to show.
|
||||
*
|
||||
* @var int
|
||||
*/
|
||||
private $maxDepth = 9;
|
||||
|
||||
/**
|
||||
* Create a new Table-of-Contents Element
|
||||
* Create a new Table-of-Contents Element.
|
||||
*
|
||||
* @param mixed $fontStyle
|
||||
* @param array $tocStyle
|
||||
|
|
@ -66,11 +66,11 @@ class TOC extends AbstractElement
|
|||
{
|
||||
$this->TOCStyle = new TOCStyle();
|
||||
|
||||
if (!is_null($tocStyle) && is_array($tocStyle)) {
|
||||
if (null !== $tocStyle && is_array($tocStyle)) {
|
||||
$this->TOCStyle->setStyleByArray($tocStyle);
|
||||
}
|
||||
|
||||
if (!is_null($fontStyle) && is_array($fontStyle)) {
|
||||
if (null !== $fontStyle && is_array($fontStyle)) {
|
||||
$this->fontStyle = new Font();
|
||||
$this->fontStyle->setStyleByArray($fontStyle);
|
||||
} else {
|
||||
|
|
@ -82,14 +82,14 @@ class TOC extends AbstractElement
|
|||
}
|
||||
|
||||
/**
|
||||
* Get all titles
|
||||
* Get all titles.
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public function getTitles()
|
||||
{
|
||||
if (!$this->phpWord instanceof PhpWord) {
|
||||
return array();
|
||||
return [];
|
||||
}
|
||||
|
||||
$titles = $this->phpWord->getTitles()->getItems();
|
||||
|
|
@ -108,7 +108,7 @@ class TOC extends AbstractElement
|
|||
}
|
||||
|
||||
/**
|
||||
* Get TOC Style
|
||||
* Get TOC Style.
|
||||
*
|
||||
* @return \PhpOffice\PhpWord\Style\TOC
|
||||
*/
|
||||
|
|
@ -118,7 +118,7 @@ class TOC extends AbstractElement
|
|||
}
|
||||
|
||||
/**
|
||||
* Get Font Style
|
||||
* Get Font Style.
|
||||
*
|
||||
* @return \PhpOffice\PhpWord\Style\Font|string
|
||||
*/
|
||||
|
|
@ -132,13 +132,13 @@ class TOC extends AbstractElement
|
|||
*
|
||||
* @param int $value
|
||||
*/
|
||||
public function setMaxDepth($value)
|
||||
public function setMaxDepth($value): void
|
||||
{
|
||||
$this->maxDepth = $value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get Max Depth
|
||||
* Get Max Depth.
|
||||
*
|
||||
* @return int Max depth of titles
|
||||
*/
|
||||
|
|
@ -152,13 +152,13 @@ class TOC extends AbstractElement
|
|||
*
|
||||
* @param int $value
|
||||
*/
|
||||
public function setMinDepth($value)
|
||||
public function setMinDepth($value): void
|
||||
{
|
||||
$this->minDepth = $value;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get Min Depth
|
||||
* Get Min Depth.
|
||||
*
|
||||
* @return int Min depth of titles
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@
|
|||
* contributors, visit https://github.com/PHPOffice/PHPWord/contributors.
|
||||
*
|
||||
* @see https://github.com/PHPOffice/PHPWord
|
||||
* @copyright 2010-2018 PHPWord contributors
|
||||
*
|
||||
* @license http://www.gnu.org/licenses/lgpl.txt LGPL version 3
|
||||
*/
|
||||
|
||||
|
|
@ -20,33 +20,33 @@ namespace PhpOffice\PhpWord\Element;
|
|||
use PhpOffice\PhpWord\Style\Table as TableStyle;
|
||||
|
||||
/**
|
||||
* Table element
|
||||
* Table element.
|
||||
*/
|
||||
class Table extends AbstractElement
|
||||
{
|
||||
/**
|
||||
* Table style
|
||||
* Table style.
|
||||
*
|
||||
* @var \PhpOffice\PhpWord\Style\Table
|
||||
*/
|
||||
private $style;
|
||||
|
||||
/**
|
||||
* Table rows
|
||||
* Table rows.
|
||||
*
|
||||
* @var \PhpOffice\PhpWord\Element\Row[]
|
||||
*/
|
||||
private $rows = array();
|
||||
private $rows = [];
|
||||
|
||||
/**
|
||||
* Table width
|
||||
* Table width.
|
||||
*
|
||||
* @var int
|
||||
*/
|
||||
private $width = null;
|
||||
private $width;
|
||||
|
||||
/**
|
||||
* Create a new table
|
||||
* Create a new table.
|
||||
*
|
||||
* @param mixed $style
|
||||
*/
|
||||
|
|
@ -56,10 +56,11 @@ class Table extends AbstractElement
|
|||
}
|
||||
|
||||
/**
|
||||
* Add a row
|
||||
* Add a row.
|
||||
*
|
||||
* @param int $height
|
||||
* @param mixed $style
|
||||
*
|
||||
* @return \PhpOffice\PhpWord\Element\Row
|
||||
*/
|
||||
public function addRow($height = null, $style = null)
|
||||
|
|
@ -72,10 +73,11 @@ class Table extends AbstractElement
|
|||
}
|
||||
|
||||
/**
|
||||
* Add a cell
|
||||
* Add a cell.
|
||||
*
|
||||
* @param int $width
|
||||
* @param mixed $style
|
||||
*
|
||||
* @return \PhpOffice\PhpWord\Element\Cell
|
||||
*/
|
||||
public function addCell($width = null, $style = null)
|
||||
|
|
@ -88,7 +90,7 @@ class Table extends AbstractElement
|
|||
}
|
||||
|
||||
/**
|
||||
* Get all rows
|
||||
* Get all rows.
|
||||
*
|
||||
* @return \PhpOffice\PhpWord\Element\Row[]
|
||||
*/
|
||||
|
|
@ -98,7 +100,7 @@ class Table extends AbstractElement
|
|||
}
|
||||
|
||||
/**
|
||||
* Get table style
|
||||
* Get table style.
|
||||
*
|
||||
* @return \PhpOffice\PhpWord\Style\Table
|
||||
*/
|
||||
|
|
@ -108,7 +110,7 @@ class Table extends AbstractElement
|
|||
}
|
||||
|
||||
/**
|
||||
* Get table width
|
||||
* Get table width.
|
||||
*
|
||||
* @return int
|
||||
*/
|
||||
|
|
@ -122,13 +124,13 @@ class Table extends AbstractElement
|
|||
*
|
||||
* @param int $width
|
||||
*/
|
||||
public function setWidth($width)
|
||||
public function setWidth($width): void
|
||||
{
|
||||
$this->width = $width;
|
||||
}
|
||||
|
||||
/**
|
||||
* Get column count
|
||||
* Get column count.
|
||||
*
|
||||
* @return int
|
||||
*/
|
||||
|
|
@ -137,7 +139,7 @@ class Table extends AbstractElement
|
|||
$columnCount = 0;
|
||||
|
||||
$rowCount = count($this->rows);
|
||||
for ($i = 0; $i < $rowCount; $i++) {
|
||||
for ($i = 0; $i < $rowCount; ++$i) {
|
||||
/** @var \PhpOffice\PhpWord\Element\Row $row Type hint */
|
||||
$row = $this->rows[$i];
|
||||
$cellCount = count($row->getCells());
|
||||
|
|
@ -150,20 +152,20 @@ class Table extends AbstractElement
|
|||
}
|
||||
|
||||
/**
|
||||
* The first declared cell width for each column
|
||||
* The first declared cell width for each column.
|
||||
*
|
||||
* @return int[]
|
||||
*/
|
||||
public function findFirstDefinedCellWidths()
|
||||
{
|
||||
$cellWidths = array();
|
||||
$cellWidths = [];
|
||||
|
||||
foreach ($this->rows as $row) {
|
||||
$cells = $row->getCells();
|
||||
if (count($cells) <= count($cellWidths)) {
|
||||
continue;
|
||||
}
|
||||
$cellWidths = array();
|
||||
$cellWidths = [];
|
||||
foreach ($cells as $cell) {
|
||||
$cellWidths[] = $cell->getWidth();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@
|
|||
* contributors, visit https://github.com/PHPOffice/PHPWord/contributors.
|
||||
*
|
||||
* @see https://github.com/PHPOffice/PHPWord
|
||||
* @copyright 2010-2018 PHPWord contributors
|
||||
*
|
||||
* @license http://www.gnu.org/licenses/lgpl.txt LGPL version 3
|
||||
*/
|
||||
|
||||
|
|
@ -22,33 +22,33 @@ use PhpOffice\PhpWord\Style\Font;
|
|||
use PhpOffice\PhpWord\Style\Paragraph;
|
||||
|
||||
/**
|
||||
* Text element
|
||||
* Text element.
|
||||
*/
|
||||
class Text extends AbstractElement
|
||||
{
|
||||
/**
|
||||
* Text content
|
||||
* Text content.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $text;
|
||||
|
||||
/**
|
||||
* Text style
|
||||
* Text style.
|
||||
*
|
||||
* @var string|\PhpOffice\PhpWord\Style\Font
|
||||
* @var \PhpOffice\PhpWord\Style\Font|string
|
||||
*/
|
||||
protected $fontStyle;
|
||||
|
||||
/**
|
||||
* Paragraph style
|
||||
* Paragraph style.
|
||||
*
|
||||
* @var string|\PhpOffice\PhpWord\Style\Paragraph
|
||||
* @var \PhpOffice\PhpWord\Style\Paragraph|string
|
||||
*/
|
||||
protected $paragraphStyle;
|
||||
|
||||
/**
|
||||
* Create a new Text Element
|
||||
* Create a new Text Element.
|
||||
*
|
||||
* @param string $text
|
||||
* @param mixed $fontStyle
|
||||
|
|
@ -62,11 +62,12 @@ class Text extends AbstractElement
|
|||
}
|
||||
|
||||
/**
|
||||
* Set Text style
|
||||
* Set Text style.
|
||||
*
|
||||
* @param string|array|\PhpOffice\PhpWord\Style\Font $style
|
||||
* @param string|array|\PhpOffice\PhpWord\Style\Paragraph $paragraphStyle
|
||||
* @return string|\PhpOffice\PhpWord\Style\Font
|
||||
* @param array|\PhpOffice\PhpWord\Style\Font|string $style
|
||||
* @param array|\PhpOffice\PhpWord\Style\Paragraph|string $paragraphStyle
|
||||
*
|
||||
* @return \PhpOffice\PhpWord\Style\Font|string
|
||||
*/
|
||||
public function setFontStyle($style = null, $paragraphStyle = null)
|
||||
{
|
||||
|
|
@ -87,9 +88,9 @@ class Text extends AbstractElement
|
|||
}
|
||||
|
||||
/**
|
||||
* Get Text style
|
||||
* Get Text style.
|
||||
*
|
||||
* @return string|\PhpOffice\PhpWord\Style\Font
|
||||
* @return \PhpOffice\PhpWord\Style\Font|string
|
||||
*/
|
||||
public function getFontStyle()
|
||||
{
|
||||
|
|
@ -97,10 +98,11 @@ class Text extends AbstractElement
|
|||
}
|
||||
|
||||
/**
|
||||
* Set Paragraph style
|
||||
* Set Paragraph style.
|
||||
*
|
||||
* @param string|array|\PhpOffice\PhpWord\Style\Paragraph $style
|
||||
* @return string|\PhpOffice\PhpWord\Style\Paragraph
|
||||
* @param array|\PhpOffice\PhpWord\Style\Paragraph|string $style
|
||||
*
|
||||
* @return \PhpOffice\PhpWord\Style\Paragraph|string
|
||||
*/
|
||||
public function setParagraphStyle($style = null)
|
||||
{
|
||||
|
|
@ -119,9 +121,9 @@ class Text extends AbstractElement
|
|||
}
|
||||
|
||||
/**
|
||||
* Get Paragraph style
|
||||
* Get Paragraph style.
|
||||
*
|
||||
* @return string|\PhpOffice\PhpWord\Style\Paragraph
|
||||
* @return \PhpOffice\PhpWord\Style\Paragraph|string
|
||||
*/
|
||||
public function getParagraphStyle()
|
||||
{
|
||||
|
|
@ -129,9 +131,10 @@ class Text extends AbstractElement
|
|||
}
|
||||
|
||||
/**
|
||||
* Set text content
|
||||
* Set text content.
|
||||
*
|
||||
* @param string $text
|
||||
*
|
||||
* @return self
|
||||
*/
|
||||
public function setText($text)
|
||||
|
|
@ -142,7 +145,7 @@ class Text extends AbstractElement
|
|||
}
|
||||
|
||||
/**
|
||||
* Get Text content
|
||||
* Get Text content.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@
|
|||
* contributors, visit https://github.com/PHPOffice/PHPWord/contributors.
|
||||
*
|
||||
* @see https://github.com/PHPOffice/PHPWord
|
||||
* @copyright 2010-2018 PHPWord contributors
|
||||
*
|
||||
* @license http://www.gnu.org/licenses/lgpl.txt LGPL version 3
|
||||
*/
|
||||
|
||||
|
|
@ -20,7 +20,7 @@ namespace PhpOffice\PhpWord\Element;
|
|||
use PhpOffice\PhpWord\Style\TextBox as TextBoxStyle;
|
||||
|
||||
/**
|
||||
* TextBox element
|
||||
* TextBox element.
|
||||
*
|
||||
* @since 0.11.0
|
||||
*/
|
||||
|
|
@ -32,14 +32,14 @@ class TextBox extends AbstractContainer
|
|||
protected $container = 'TextBox';
|
||||
|
||||
/**
|
||||
* TextBox style
|
||||
* TextBox style.
|
||||
*
|
||||
* @var \PhpOffice\PhpWord\Style\TextBox
|
||||
*/
|
||||
private $style;
|
||||
|
||||
/**
|
||||
* Create a new textbox
|
||||
* Create a new textbox.
|
||||
*
|
||||
* @param mixed $style
|
||||
*/
|
||||
|
|
@ -49,7 +49,7 @@ class TextBox extends AbstractContainer
|
|||
}
|
||||
|
||||
/**
|
||||
* Get textbox style
|
||||
* Get textbox style.
|
||||
*
|
||||
* @return \PhpOffice\PhpWord\Style\TextBox
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@
|
|||
* contributors, visit https://github.com/PHPOffice/PHPWord/contributors.
|
||||
*
|
||||
* @see https://github.com/PHPOffice/PHPWord
|
||||
* @copyright 2010-2018 PHPWord contributors
|
||||
*
|
||||
* @license http://www.gnu.org/licenses/lgpl.txt LGPL version 3
|
||||
*/
|
||||
|
||||
|
|
@ -21,46 +21,47 @@ use PhpOffice\PhpWord\Style\Font;
|
|||
use PhpOffice\PhpWord\Style\Paragraph;
|
||||
|
||||
/**
|
||||
* Text break element
|
||||
* Text break element.
|
||||
*/
|
||||
class TextBreak extends AbstractElement
|
||||
{
|
||||
/**
|
||||
* Paragraph style
|
||||
* Paragraph style.
|
||||
*
|
||||
* @var string|\PhpOffice\PhpWord\Style\Paragraph
|
||||
* @var \PhpOffice\PhpWord\Style\Paragraph|string
|
||||
*/
|
||||
private $paragraphStyle = null;
|
||||
private $paragraphStyle;
|
||||
|
||||
/**
|
||||
* Text style
|
||||
* Text style.
|
||||
*
|
||||
* @var string|\PhpOffice\PhpWord\Style\Font
|
||||
* @var \PhpOffice\PhpWord\Style\Font|string
|
||||
*/
|
||||
private $fontStyle = null;
|
||||
private $fontStyle;
|
||||
|
||||
/**
|
||||
* Create a new TextBreak Element
|
||||
* Create a new TextBreak Element.
|
||||
*
|
||||
* @param mixed $fontStyle
|
||||
* @param mixed $paragraphStyle
|
||||
*/
|
||||
public function __construct($fontStyle = null, $paragraphStyle = null)
|
||||
{
|
||||
if (!is_null($paragraphStyle)) {
|
||||
if (null !== $paragraphStyle) {
|
||||
$paragraphStyle = $this->setParagraphStyle($paragraphStyle);
|
||||
}
|
||||
if (!is_null($fontStyle)) {
|
||||
if (null !== $fontStyle) {
|
||||
$this->setFontStyle($fontStyle, $paragraphStyle);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Set Text style
|
||||
* Set Text style.
|
||||
*
|
||||
* @param mixed $style
|
||||
* @param mixed $paragraphStyle
|
||||
* @return string|\PhpOffice\PhpWord\Style\Font
|
||||
*
|
||||
* @return \PhpOffice\PhpWord\Style\Font|string
|
||||
*/
|
||||
public function setFontStyle($style = null, $paragraphStyle = null)
|
||||
{
|
||||
|
|
@ -79,9 +80,9 @@ class TextBreak extends AbstractElement
|
|||
}
|
||||
|
||||
/**
|
||||
* Get Text style
|
||||
* Get Text style.
|
||||
*
|
||||
* @return string|\PhpOffice\PhpWord\Style\Font
|
||||
* @return \PhpOffice\PhpWord\Style\Font|string
|
||||
*/
|
||||
public function getFontStyle()
|
||||
{
|
||||
|
|
@ -89,10 +90,11 @@ class TextBreak extends AbstractElement
|
|||
}
|
||||
|
||||
/**
|
||||
* Set Paragraph style
|
||||
* Set Paragraph style.
|
||||
*
|
||||
* @param string|array|\PhpOffice\PhpWord\Style\Paragraph $style
|
||||
* @return string|\PhpOffice\PhpWord\Style\Paragraph
|
||||
* @param array|\PhpOffice\PhpWord\Style\Paragraph|string $style
|
||||
*
|
||||
* @return \PhpOffice\PhpWord\Style\Paragraph|string
|
||||
*/
|
||||
public function setParagraphStyle($style = null)
|
||||
{
|
||||
|
|
@ -109,9 +111,9 @@ class TextBreak extends AbstractElement
|
|||
}
|
||||
|
||||
/**
|
||||
* Get Paragraph style
|
||||
* Get Paragraph style.
|
||||
*
|
||||
* @return string|\PhpOffice\PhpWord\Style\Paragraph
|
||||
* @return \PhpOffice\PhpWord\Style\Paragraph|string
|
||||
*/
|
||||
public function getParagraphStyle()
|
||||
{
|
||||
|
|
@ -119,12 +121,12 @@ class TextBreak extends AbstractElement
|
|||
}
|
||||
|
||||
/**
|
||||
* Has font/paragraph style defined
|
||||
* Has font/paragraph style defined.
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function hasStyle()
|
||||
{
|
||||
return !is_null($this->fontStyle) || !is_null($this->paragraphStyle);
|
||||
return null !== $this->fontStyle || null !== $this->paragraphStyle;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@
|
|||
* contributors, visit https://github.com/PHPOffice/PHPWord/contributors.
|
||||
*
|
||||
* @see https://github.com/PHPOffice/PHPWord
|
||||
* @copyright 2010-2018 PHPWord contributors
|
||||
*
|
||||
* @license http://www.gnu.org/licenses/lgpl.txt LGPL version 3
|
||||
*/
|
||||
|
||||
|
|
@ -20,7 +20,7 @@ namespace PhpOffice\PhpWord\Element;
|
|||
use PhpOffice\PhpWord\Style\Paragraph;
|
||||
|
||||
/**
|
||||
* Textrun/paragraph element
|
||||
* Textrun/paragraph element.
|
||||
*/
|
||||
class TextRun extends AbstractContainer
|
||||
{
|
||||
|
|
@ -30,16 +30,16 @@ class TextRun extends AbstractContainer
|
|||
protected $container = 'TextRun';
|
||||
|
||||
/**
|
||||
* Paragraph style
|
||||
* Paragraph style.
|
||||
*
|
||||
* @var string|\PhpOffice\PhpWord\Style\Paragraph
|
||||
* @var \PhpOffice\PhpWord\Style\Paragraph|string
|
||||
*/
|
||||
protected $paragraphStyle;
|
||||
|
||||
/**
|
||||
* Create new instance
|
||||
* Create new instance.
|
||||
*
|
||||
* @param string|array|\PhpOffice\PhpWord\Style\Paragraph $paragraphStyle
|
||||
* @param array|\PhpOffice\PhpWord\Style\Paragraph|string $paragraphStyle
|
||||
*/
|
||||
public function __construct($paragraphStyle = null)
|
||||
{
|
||||
|
|
@ -47,9 +47,9 @@ class TextRun extends AbstractContainer
|
|||
}
|
||||
|
||||
/**
|
||||
* Get Paragraph style
|
||||
* Get Paragraph style.
|
||||
*
|
||||
* @return string|\PhpOffice\PhpWord\Style\Paragraph
|
||||
* @return \PhpOffice\PhpWord\Style\Paragraph|string
|
||||
*/
|
||||
public function getParagraphStyle()
|
||||
{
|
||||
|
|
@ -57,10 +57,11 @@ class TextRun extends AbstractContainer
|
|||
}
|
||||
|
||||
/**
|
||||
* Set Paragraph style
|
||||
* Set Paragraph style.
|
||||
*
|
||||
* @param string|array|\PhpOffice\PhpWord\Style\Paragraph $style
|
||||
* @return string|\PhpOffice\PhpWord\Style\Paragraph
|
||||
* @param array|\PhpOffice\PhpWord\Style\Paragraph|string $style
|
||||
*
|
||||
* @return \PhpOffice\PhpWord\Style\Paragraph|string
|
||||
*/
|
||||
public function setParagraphStyle($style = null)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -11,50 +11,51 @@
|
|||
* contributors, visit https://github.com/PHPOffice/PHPWord/contributors.
|
||||
*
|
||||
* @see https://github.com/PHPOffice/PHPWord
|
||||
* @copyright 2010-2018 PHPWord contributors
|
||||
*
|
||||
* @license http://www.gnu.org/licenses/lgpl.txt LGPL version 3
|
||||
*/
|
||||
|
||||
namespace PhpOffice\PhpWord\Element;
|
||||
|
||||
use InvalidArgumentException;
|
||||
use PhpOffice\PhpWord\Shared\Text as SharedText;
|
||||
use PhpOffice\PhpWord\Style;
|
||||
|
||||
/**
|
||||
* Title element
|
||||
* Title element.
|
||||
*/
|
||||
class Title extends AbstractElement
|
||||
{
|
||||
/**
|
||||
* Title Text content
|
||||
* Title Text content.
|
||||
*
|
||||
* @var string|TextRun
|
||||
*/
|
||||
private $text;
|
||||
|
||||
/**
|
||||
* Title depth
|
||||
* Title depth.
|
||||
*
|
||||
* @var int
|
||||
*/
|
||||
private $depth = 1;
|
||||
|
||||
/**
|
||||
* Name of the heading style, e.g. 'Heading1'
|
||||
* Name of the heading style, e.g. 'Heading1'.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
private $style;
|
||||
|
||||
/**
|
||||
* Is part of collection
|
||||
* Is part of collection.
|
||||
*
|
||||
* @var bool
|
||||
*/
|
||||
protected $collectionRelation = true;
|
||||
|
||||
/**
|
||||
* Create a new Title Element
|
||||
* Create a new Title Element.
|
||||
*
|
||||
* @param string|TextRun $text
|
||||
* @param int $depth
|
||||
|
|
@ -66,7 +67,7 @@ class Title extends AbstractElement
|
|||
} elseif ($text instanceof TextRun) {
|
||||
$this->text = $text;
|
||||
} else {
|
||||
throw new \InvalidArgumentException('Invalid text, should be a string or a TextRun');
|
||||
throw new InvalidArgumentException('Invalid text, should be a string or a TextRun');
|
||||
}
|
||||
|
||||
$this->depth = $depth;
|
||||
|
|
@ -77,7 +78,7 @@ class Title extends AbstractElement
|
|||
}
|
||||
|
||||
/**
|
||||
* Get Title Text content
|
||||
* Get Title Text content.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
|
|
@ -87,7 +88,7 @@ class Title extends AbstractElement
|
|||
}
|
||||
|
||||
/**
|
||||
* Get depth
|
||||
* Get depth.
|
||||
*
|
||||
* @return int
|
||||
*/
|
||||
|
|
@ -97,7 +98,7 @@ class Title extends AbstractElement
|
|||
}
|
||||
|
||||
/**
|
||||
* Get Title style
|
||||
* Get Title style.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -11,14 +11,17 @@
|
|||
* contributors, visit https://github.com/PHPOffice/PHPWord/contributors.
|
||||
*
|
||||
* @see https://github.com/PHPOffice/PHPWord
|
||||
* @copyright 2010-2018 PHPWord contributors
|
||||
*
|
||||
* @license http://www.gnu.org/licenses/lgpl.txt LGPL version 3
|
||||
*/
|
||||
|
||||
namespace PhpOffice\PhpWord\Element;
|
||||
|
||||
use DateTime;
|
||||
|
||||
/**
|
||||
* TrackChange element
|
||||
* TrackChange element.
|
||||
*
|
||||
* @see http://datypic.com/sc/ooxml/t-w_CT_TrackChange.html
|
||||
* @see http://datypic.com/sc/ooxml/t-w_CT_RunTrackChange.html
|
||||
*/
|
||||
|
|
@ -33,44 +36,44 @@ class TrackChange extends AbstractContainer
|
|||
protected $container = 'TrackChange';
|
||||
|
||||
/**
|
||||
* The type of change, (insert or delete), not applicable for PhpOffice\PhpWord\Element\Comment
|
||||
* The type of change, (insert or delete), not applicable for PhpOffice\PhpWord\Element\Comment.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
private $changeType;
|
||||
|
||||
/**
|
||||
* Author
|
||||
* Author.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
private $author;
|
||||
|
||||
/**
|
||||
* Date
|
||||
* Date.
|
||||
*
|
||||
* @var \DateTime
|
||||
* @var DateTime
|
||||
*/
|
||||
private $date;
|
||||
|
||||
/**
|
||||
* Create a new TrackChange Element
|
||||
* Create a new TrackChange Element.
|
||||
*
|
||||
* @param string $changeType
|
||||
* @param string $author
|
||||
* @param null|int|bool|\DateTime $date
|
||||
* @param null|bool|DateTime|int $date
|
||||
*/
|
||||
public function __construct($changeType = null, $author = null, $date = null)
|
||||
{
|
||||
$this->changeType = $changeType;
|
||||
$this->author = $author;
|
||||
if ($date !== null && $date !== false) {
|
||||
$this->date = ($date instanceof \DateTime) ? $date : new \DateTime('@' . $date);
|
||||
$this->date = ($date instanceof DateTime) ? $date : new DateTime('@' . $date);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get TrackChange Author
|
||||
* Get TrackChange Author.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
|
|
@ -80,9 +83,9 @@ class TrackChange extends AbstractContainer
|
|||
}
|
||||
|
||||
/**
|
||||
* Get TrackChange Date
|
||||
* Get TrackChange Date.
|
||||
*
|
||||
* @return \DateTime
|
||||
* @return DateTime
|
||||
*/
|
||||
public function getDate()
|
||||
{
|
||||
|
|
@ -90,7 +93,7 @@ class TrackChange extends AbstractContainer
|
|||
}
|
||||
|
||||
/**
|
||||
* Get the Change type
|
||||
* Get the Change type.
|
||||
*
|
||||
* @return string
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@
|
|||
* contributors, visit https://github.com/PHPOffice/PHPWord/contributors.
|
||||
*
|
||||
* @see https://github.com/PHPOffice/PHPWord
|
||||
* @copyright 2010-2018 PHPWord contributors
|
||||
*
|
||||
* @license http://www.gnu.org/licenses/lgpl.txt LGPL version 3
|
||||
*/
|
||||
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@
|
|||
* contributors, visit https://github.com/PHPOffice/PHPWord/contributors.
|
||||
*
|
||||
* @see https://github.com/PHPOffice/PHPWord
|
||||
* @copyright 2010-2018 PHPWord contributors
|
||||
*
|
||||
* @license http://www.gnu.org/licenses/lgpl.txt LGPL version 3
|
||||
*/
|
||||
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@
|
|||
* contributors, visit https://github.com/PHPOffice/PHPWord/contributors.
|
||||
*
|
||||
* @see https://github.com/PHPOffice/PHPWord
|
||||
* @copyright 2010-2018 PHPWord contributors
|
||||
*
|
||||
* @license http://www.gnu.org/licenses/lgpl.txt LGPL version 3
|
||||
*/
|
||||
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@
|
|||
* contributors, visit https://github.com/PHPOffice/PHPWord/contributors.
|
||||
*
|
||||
* @see https://github.com/PHPOffice/PHPWord
|
||||
* @copyright 2010-2018 PHPWord contributors
|
||||
*
|
||||
* @license http://www.gnu.org/licenses/lgpl.txt LGPL version 3
|
||||
*/
|
||||
|
||||
|
|
@ -46,6 +46,7 @@ class Rtf extends AbstractEscaper
|
|||
|
||||
/**
|
||||
* @see http://www.randomchaos.com/documents/?source=php_and_unicode
|
||||
*
|
||||
* @param string $input
|
||||
*/
|
||||
protected function escapeSingleValue($input)
|
||||
|
|
@ -53,7 +54,7 @@ class Rtf extends AbstractEscaper
|
|||
$escapedValue = '';
|
||||
|
||||
$numberOfBytes = 1;
|
||||
$bytes = array();
|
||||
$bytes = [];
|
||||
for ($i = 0; $i < strlen($input); ++$i) {
|
||||
$character = $input[$i];
|
||||
$asciiCode = ord($character);
|
||||
|
|
@ -87,7 +88,7 @@ class Rtf extends AbstractEscaper
|
|||
}
|
||||
|
||||
$numberOfBytes = 1;
|
||||
$bytes = array();
|
||||
$bytes = [];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@
|
|||
* contributors, visit https://github.com/PHPOffice/PHPWord/contributors.
|
||||
*
|
||||
* @see https://github.com/PHPOffice/PHPWord
|
||||
* @copyright 2010-2018 PHPWord contributors
|
||||
*
|
||||
* @license http://www.gnu.org/licenses/lgpl.txt LGPL version 3
|
||||
*/
|
||||
|
||||
|
|
@ -26,6 +26,6 @@ class Xml extends AbstractEscaper
|
|||
{
|
||||
protected function escapeSingleValue($input)
|
||||
{
|
||||
return (!is_null($input)) ? htmlspecialchars($input, ENT_QUOTES) : '';
|
||||
return (null !== $input) ? htmlspecialchars($input, ENT_QUOTES) : '';
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@
|
|||
* contributors, visit https://github.com/PHPOffice/PHPWord/contributors.
|
||||
*
|
||||
* @see https://github.com/PHPOffice/PHPWord
|
||||
* @copyright 2010-2018 PHPWord contributors
|
||||
*
|
||||
* @license http://www.gnu.org/licenses/lgpl.txt LGPL version 3
|
||||
*/
|
||||
|
||||
|
|
@ -28,7 +28,7 @@ final class CopyFileException extends Exception
|
|||
* @param int $code The user defined exception code
|
||||
* @param \Exception $previous The previous exception used for the exception chaining
|
||||
*/
|
||||
final public function __construct($source, $destination, $code = 0, \Exception $previous = null)
|
||||
public function __construct($source, $destination, $code = 0, ?\Exception $previous = null)
|
||||
{
|
||||
parent::__construct(
|
||||
sprintf('Could not copy \'%s\' file to \'%s\'.', $source, $destination),
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@
|
|||
* contributors, visit https://github.com/PHPOffice/PHPWord/contributors.
|
||||
*
|
||||
* @see https://github.com/PHPOffice/PHPWord
|
||||
* @copyright 2010-2018 PHPWord contributors
|
||||
*
|
||||
* @license http://www.gnu.org/licenses/lgpl.txt LGPL version 3
|
||||
*/
|
||||
|
||||
|
|
@ -26,7 +26,7 @@ final class CreateTemporaryFileException extends Exception
|
|||
* @param int $code The user defined exception code
|
||||
* @param \Exception $previous The previous exception used for the exception chaining
|
||||
*/
|
||||
final public function __construct($code = 0, \Exception $previous = null)
|
||||
public function __construct($code = 0, ?\Exception $previous = null)
|
||||
{
|
||||
parent::__construct(
|
||||
'Could not create a temporary file with unique name in the specified directory.',
|
||||
|
|
|
|||
|
|
@ -11,14 +11,14 @@
|
|||
* contributors, visit https://github.com/PHPOffice/PHPWord/contributors.
|
||||
*
|
||||
* @see https://github.com/PHPOffice/PHPWord
|
||||
* @copyright 2010-2018 PHPWord contributors
|
||||
*
|
||||
* @license http://www.gnu.org/licenses/lgpl.txt LGPL version 3
|
||||
*/
|
||||
|
||||
namespace PhpOffice\PhpWord\Exception;
|
||||
|
||||
/**
|
||||
* General exception
|
||||
* General exception.
|
||||
*/
|
||||
class Exception extends \Exception
|
||||
{
|
||||
|
|
|
|||
|
|
@ -11,14 +11,14 @@
|
|||
* contributors, visit https://github.com/PHPOffice/PHPWord/contributors.
|
||||
*
|
||||
* @see https://github.com/PHPOffice/PHPWord
|
||||
* @copyright 2010-2018 PHPWord contributors
|
||||
*
|
||||
* @license http://www.gnu.org/licenses/lgpl.txt LGPL version 3
|
||||
*/
|
||||
|
||||
namespace PhpOffice\PhpWord\Exception;
|
||||
|
||||
/**
|
||||
* Exception used for when an image is not found
|
||||
* Exception used for when an image is not found.
|
||||
*/
|
||||
class InvalidImageException extends Exception
|
||||
{
|
||||
|
|
|
|||
|
|
@ -11,14 +11,14 @@
|
|||
* contributors, visit https://github.com/PHPOffice/PHPWord/contributors.
|
||||
*
|
||||
* @see https://github.com/PHPOffice/PHPWord
|
||||
* @copyright 2010-2018 PHPWord contributors
|
||||
*
|
||||
* @license http://www.gnu.org/licenses/lgpl.txt LGPL version 3
|
||||
*/
|
||||
|
||||
namespace PhpOffice\PhpWord\Exception;
|
||||
|
||||
/**
|
||||
* Exception used for when an image is not found
|
||||
* Exception used for when an image is not found.
|
||||
*/
|
||||
class InvalidObjectException extends Exception
|
||||
{
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue