ooxml_parser 0.22.0 → 0.25.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/lib/ooxml_parser/common_parser/common_data/alternate_content/drawing/graphic/shape/docx_shape/shape_style/{effect_reference.rb → style_matrix_reference.rb} +4 -4
- data/lib/ooxml_parser/common_parser/common_data/alternate_content/drawing/graphic/shape/docx_shape/shape_style.rb +4 -6
- data/lib/ooxml_parser/common_parser/common_data/coordinates.rb +30 -21
- data/lib/ooxml_parser/common_parser/common_data/hyperlink.rb +2 -2
- data/lib/ooxml_parser/common_parser/common_data/ooxml_document_object.rb +0 -23
- data/lib/ooxml_parser/common_parser/common_data/paragraph/paragraph_run/run_properties/shade.rb +2 -2
- data/lib/ooxml_parser/common_parser/common_data/paragraph/paragrpah_properties/paragraph_spacing.rb +2 -2
- data/lib/ooxml_parser/common_parser/common_data/table/properties/table_position.rb +5 -5
- data/lib/ooxml_parser/common_parser/parser/encryption_checker.rb +43 -0
- data/lib/ooxml_parser/common_parser/parser.rb +3 -1
- data/lib/ooxml_parser/common_parser.rb +15 -0
- data/lib/ooxml_parser/docx_parser/{docx_data/document_structure → document_structure}/comments/comment.rb +0 -0
- data/lib/ooxml_parser/docx_parser/{docx_data/document_structure → document_structure}/comments.rb +0 -0
- data/lib/ooxml_parser/docx_parser/{docx_data/document_structure → document_structure}/comments_extended/comment_extended.rb +0 -0
- data/lib/ooxml_parser/docx_parser/{docx_data/document_structure → document_structure}/comments_extended.rb +0 -0
- data/lib/ooxml_parser/docx_parser/{docx_data/document_structure → document_structure}/document_background.rb +0 -0
- data/lib/ooxml_parser/docx_parser/{docx_data/document_structure → document_structure}/document_properties.rb +0 -0
- data/lib/ooxml_parser/docx_parser/{docx_data/document_structure → document_structure}/document_settings.rb +0 -0
- data/lib/ooxml_parser/docx_parser/{docx_data/document_structure → document_structure}/document_structure_helpers.rb +0 -0
- data/lib/ooxml_parser/docx_parser/{docx_data/document_structure → document_structure}/document_style/document_style_helper.rb +0 -0
- data/lib/ooxml_parser/docx_parser/{docx_data/document_structure → document_structure}/document_style.rb +0 -0
- data/lib/ooxml_parser/docx_parser/{docx_data/document_structure → document_structure}/docx_paragraph/bookmark_end.rb +0 -0
- data/lib/ooxml_parser/docx_parser/{docx_data/document_structure → document_structure}/docx_paragraph/bookmark_start.rb +0 -0
- data/lib/ooxml_parser/docx_parser/{docx_data/document_structure → document_structure}/docx_paragraph/comment_range_end.rb +0 -0
- data/lib/ooxml_parser/docx_parser/{docx_data/document_structure → document_structure}/docx_paragraph/comment_range_start.rb +0 -0
- data/lib/ooxml_parser/docx_parser/{docx_data/document_structure → document_structure}/docx_paragraph/docx_formula/accent.rb +0 -0
- data/lib/ooxml_parser/docx_parser/{docx_data/document_structure → document_structure}/docx_paragraph/docx_formula/argument_properties/argument_size.rb +0 -0
- data/lib/ooxml_parser/docx_parser/{docx_data/document_structure → document_structure}/docx_paragraph/docx_formula/argument_properties.rb +0 -0
- data/lib/ooxml_parser/docx_parser/{docx_data/document_structure → document_structure}/docx_paragraph/docx_formula/bar.rb +0 -0
- data/lib/ooxml_parser/docx_parser/{docx_data/document_structure → document_structure}/docx_paragraph/docx_formula/box.rb +0 -0
- data/lib/ooxml_parser/docx_parser/{docx_data/document_structure → document_structure}/docx_paragraph/docx_formula/delimeter.rb +0 -0
- data/lib/ooxml_parser/docx_parser/{docx_data/document_structure → document_structure}/docx_paragraph/docx_formula/fraction.rb +0 -0
- data/lib/ooxml_parser/docx_parser/{docx_data/document_structure → document_structure}/docx_paragraph/docx_formula/function.rb +0 -0
- data/lib/ooxml_parser/docx_parser/{docx_data/document_structure → document_structure}/docx_paragraph/docx_formula/group_char.rb +0 -0
- data/lib/ooxml_parser/docx_parser/{docx_data/document_structure → document_structure}/docx_paragraph/docx_formula/index.rb +0 -0
- data/lib/ooxml_parser/docx_parser/{docx_data/document_structure → document_structure}/docx_paragraph/docx_formula/limit.rb +0 -0
- data/lib/ooxml_parser/docx_parser/{docx_data/document_structure → document_structure}/docx_paragraph/docx_formula/math_run/math_run_properties.rb +0 -0
- data/lib/ooxml_parser/docx_parser/{docx_data/document_structure → document_structure}/docx_paragraph/docx_formula/math_run.rb +0 -0
- data/lib/ooxml_parser/docx_parser/{docx_data/document_structure → document_structure}/docx_paragraph/docx_formula/matrix/matrix_row.rb +0 -0
- data/lib/ooxml_parser/docx_parser/{docx_data/document_structure → document_structure}/docx_paragraph/docx_formula/matrix.rb +0 -0
- data/lib/ooxml_parser/docx_parser/{docx_data/document_structure → document_structure}/docx_paragraph/docx_formula/nary/nary_properties/nary_grow.rb +0 -0
- data/lib/ooxml_parser/docx_parser/{docx_data/document_structure → document_structure}/docx_paragraph/docx_formula/nary/nary_properties/nary_limit_location.rb +0 -0
- data/lib/ooxml_parser/docx_parser/{docx_data/document_structure → document_structure}/docx_paragraph/docx_formula/nary/nary_properties.rb +0 -0
- data/lib/ooxml_parser/docx_parser/{docx_data/document_structure → document_structure}/docx_paragraph/docx_formula/nary.rb +0 -0
- data/lib/ooxml_parser/docx_parser/{docx_data/document_structure → document_structure}/docx_paragraph/docx_formula/pre_sub_superscript.rb +0 -0
- data/lib/ooxml_parser/docx_parser/{docx_data/document_structure → document_structure}/docx_paragraph/docx_formula/radical.rb +0 -0
- data/lib/ooxml_parser/docx_parser/{docx_data/document_structure → document_structure}/docx_paragraph/docx_formula.rb +0 -0
- data/lib/ooxml_parser/docx_parser/{docx_data/document_structure → document_structure}/docx_paragraph/docx_paragraph_helper.rb +0 -0
- data/lib/ooxml_parser/docx_parser/{docx_data/document_structure → document_structure}/docx_paragraph/docx_paragraph_run/docx_paragraph_run_helpers.rb +0 -0
- data/lib/ooxml_parser/docx_parser/document_structure/docx_paragraph/docx_paragraph_run/instruction_text.rb +22 -0
- data/lib/ooxml_parser/docx_parser/{docx_data/document_structure → document_structure}/docx_paragraph/docx_paragraph_run/object/ole_object.rb +0 -0
- data/lib/ooxml_parser/docx_parser/{docx_data/document_structure → document_structure}/docx_paragraph/docx_paragraph_run/object.rb +0 -0
- data/lib/ooxml_parser/docx_parser/{docx_data/document_structure → document_structure}/docx_paragraph/docx_paragraph_run/shape/shape_properties/shape_margins.rb +0 -0
- data/lib/ooxml_parser/docx_parser/{docx_data/document_structure → document_structure}/docx_paragraph/docx_paragraph_run/shape/shape_properties/shape_size.rb +0 -0
- data/lib/ooxml_parser/docx_parser/{docx_data/document_structure → document_structure}/docx_paragraph/docx_paragraph_run/shape/shape_properties/stroke.rb +0 -0
- data/lib/ooxml_parser/docx_parser/{docx_data/document_structure → document_structure}/docx_paragraph/docx_paragraph_run/shape/shape_properties.rb +0 -0
- data/lib/ooxml_parser/docx_parser/{docx_data/document_structure → document_structure}/docx_paragraph/docx_paragraph_run/shape.rb +0 -0
- data/lib/ooxml_parser/docx_parser/{docx_data/document_structure → document_structure}/docx_paragraph/docx_paragraph_run/text_fill.rb +0 -0
- data/lib/ooxml_parser/docx_parser/{docx_data/document_structure → document_structure}/docx_paragraph/docx_paragraph_run/text_outline.rb +0 -0
- data/lib/ooxml_parser/docx_parser/{docx_data/document_structure → document_structure}/docx_paragraph/docx_paragraph_run.rb +8 -7
- data/lib/ooxml_parser/docx_parser/{docx_data/document_structure → document_structure}/docx_paragraph/field_simple.rb +0 -0
- data/lib/ooxml_parser/docx_parser/{docx_data/document_structure → document_structure}/docx_paragraph/frame_properties.rb +0 -0
- data/lib/ooxml_parser/docx_parser/{docx_data/document_structure → document_structure}/docx_paragraph/indents.rb +1 -1
- data/lib/ooxml_parser/docx_parser/{docx_data/document_structure → document_structure}/docx_paragraph/inserted.rb +0 -0
- data/lib/ooxml_parser/docx_parser/{docx_data/document_structure → document_structure}/docx_paragraph/sdt/sdt_content.rb +0 -0
- data/lib/ooxml_parser/docx_parser/{docx_data/document_structure → document_structure}/docx_paragraph/sdt/sdt_properties.rb +0 -0
- data/lib/ooxml_parser/docx_parser/{docx_data/document_structure → document_structure}/docx_paragraph/structured_document_tag.rb +0 -0
- data/lib/ooxml_parser/docx_parser/{docx_data/document_structure → document_structure}/docx_paragraph/style_parametres.rb +0 -0
- data/lib/ooxml_parser/docx_parser/{docx_data/document_structure → document_structure}/docx_paragraph.rb +1 -5
- data/lib/ooxml_parser/docx_parser/{docx_data/document_structure → document_structure}/header_footer.rb +0 -0
- data/lib/ooxml_parser/docx_parser/{docx_data/document_structure → document_structure}/numbering/abstract_numbering/multilevel_type.rb +0 -0
- data/lib/ooxml_parser/docx_parser/{docx_data/document_structure → document_structure}/numbering/abstract_numbering/numbering_level/level_justification.rb +0 -0
- data/lib/ooxml_parser/docx_parser/{docx_data/document_structure → document_structure}/numbering/abstract_numbering/numbering_level/level_text.rb +0 -0
- data/lib/ooxml_parser/docx_parser/{docx_data/document_structure → document_structure}/numbering/abstract_numbering/numbering_level/numbering_format.rb +0 -0
- data/lib/ooxml_parser/docx_parser/{docx_data/document_structure → document_structure}/numbering/abstract_numbering/numbering_level/suffix.rb +0 -0
- data/lib/ooxml_parser/docx_parser/{docx_data/document_structure → document_structure}/numbering/abstract_numbering/numbering_level.rb +0 -0
- data/lib/ooxml_parser/docx_parser/{docx_data/document_structure → document_structure}/numbering/abstract_numbering.rb +0 -0
- data/lib/ooxml_parser/docx_parser/{docx_data/document_structure → document_structure}/numbering/numbering_definition.rb +0 -0
- data/lib/ooxml_parser/docx_parser/{docx_data/document_structure → document_structure}/numbering.rb +0 -0
- data/lib/ooxml_parser/docx_parser/{docx_data/document_structure → document_structure}/page_properties/columns/column.rb +0 -0
- data/lib/ooxml_parser/docx_parser/{docx_data/document_structure → document_structure}/page_properties/columns.rb +0 -0
- data/lib/ooxml_parser/docx_parser/{docx_data/document_structure → document_structure}/page_properties/document_grid.rb +0 -0
- data/lib/ooxml_parser/docx_parser/{docx_data/document_structure → document_structure}/page_properties/footnote_properties.rb +0 -0
- data/lib/ooxml_parser/docx_parser/{docx_data/document_structure → document_structure}/page_properties/note.rb +0 -0
- data/lib/ooxml_parser/docx_parser/{docx_data/document_structure → document_structure}/page_properties/page_margins.rb +0 -0
- data/lib/ooxml_parser/docx_parser/{docx_data/document_structure → document_structure}/page_properties/page_properties.rb +0 -0
- data/lib/ooxml_parser/docx_parser/{docx_data/document_structure → document_structure}/page_properties/page_size.rb +0 -0
- data/lib/ooxml_parser/docx_parser/{docx_data/document_structure → document_structure}/styles/document_defaults/paragraph_properties_default.rb +0 -0
- data/lib/ooxml_parser/docx_parser/{docx_data/document_structure → document_structure}/styles/document_defaults/run_properties_default.rb +0 -0
- data/lib/ooxml_parser/docx_parser/{docx_data/document_structure → document_structure}/styles/document_defaults.rb +0 -0
- data/lib/ooxml_parser/docx_parser/{docx_data/document_structure → document_structure}/styles.rb +0 -0
- data/lib/ooxml_parser/docx_parser/{docx_data/document_structure.rb → document_structure.rb} +0 -0
- data/lib/ooxml_parser/{docx_parser/docx_parser.rb → docx_parser.rb} +2 -3
- data/lib/ooxml_parser/pptx_parser/{pptx_data/presentation → presentation}/comment_authors/comment_author.rb +0 -0
- data/lib/ooxml_parser/pptx_parser/{pptx_data/presentation → presentation}/comment_authors.rb +0 -0
- data/lib/ooxml_parser/pptx_parser/{pptx_data/presentation → presentation}/presentation_comments/presentation_comment.rb +0 -0
- data/lib/ooxml_parser/pptx_parser/{pptx_data/presentation → presentation}/presentation_comments.rb +0 -0
- data/lib/ooxml_parser/pptx_parser/{pptx_data/presentation → presentation}/presentation_helpers.rb +0 -0
- data/lib/ooxml_parser/pptx_parser/{pptx_data/presentation → presentation}/presentation_theme/font_scheme/font_collection/text_font.rb +0 -0
- data/lib/ooxml_parser/pptx_parser/{pptx_data/presentation → presentation}/presentation_theme/font_scheme/font_collection.rb +0 -0
- data/lib/ooxml_parser/pptx_parser/{pptx_data/presentation → presentation}/presentation_theme/font_scheme.rb +0 -0
- data/lib/ooxml_parser/pptx_parser/{pptx_data/presentation → presentation}/presentation_theme/theme_color.rb +0 -0
- data/lib/ooxml_parser/pptx_parser/{pptx_data/presentation → presentation}/presentation_theme.rb +0 -0
- data/lib/ooxml_parser/pptx_parser/{pptx_data/presentation → presentation}/slide/background/background_properties/stretch.rb +0 -0
- data/lib/ooxml_parser/pptx_parser/{pptx_data/presentation → presentation}/slide/background/background_properties.rb +0 -0
- data/lib/ooxml_parser/pptx_parser/{pptx_data/presentation → presentation}/slide/background.rb +0 -0
- data/lib/ooxml_parser/pptx_parser/{pptx_data/presentation → presentation}/slide/common_slide_data/shape_tree.rb +0 -0
- data/lib/ooxml_parser/pptx_parser/{pptx_data/presentation → presentation}/slide/common_slide_data.rb +0 -0
- data/lib/ooxml_parser/pptx_parser/{pptx_data/presentation → presentation}/slide/connection_shape.rb +0 -0
- data/lib/ooxml_parser/pptx_parser/{pptx_data/presentation → presentation}/slide/graphic_frame/graphic_frame.rb +0 -0
- data/lib/ooxml_parser/pptx_parser/{pptx_data/presentation → presentation}/slide/presentation_alternate_content.rb +0 -0
- data/lib/ooxml_parser/pptx_parser/{pptx_data/presentation → presentation}/slide/presentation_notes.rb +0 -0
- data/lib/ooxml_parser/pptx_parser/{pptx_data/presentation → presentation}/slide/slide/shapes_grouping.rb +0 -0
- data/lib/ooxml_parser/pptx_parser/{pptx_data/presentation → presentation}/slide/slide/timing/animation_effect/animation_effect.rb +0 -0
- data/lib/ooxml_parser/pptx_parser/{pptx_data/presentation → presentation}/slide/slide/timing/set_time_node/behavior/behavior.rb +0 -0
- data/lib/ooxml_parser/pptx_parser/{pptx_data/presentation → presentation}/slide/slide/timing/set_time_node/behavior/target_element.rb +0 -0
- data/lib/ooxml_parser/pptx_parser/{pptx_data/presentation → presentation}/slide/slide/timing/set_time_node/set_time_node.rb +0 -0
- data/lib/ooxml_parser/pptx_parser/{pptx_data/presentation → presentation}/slide/slide/timing/time_node/common_timing/codition_list/condition.rb +0 -0
- data/lib/ooxml_parser/pptx_parser/{pptx_data/presentation → presentation}/slide/slide/timing/time_node/common_timing/condition_list.rb +0 -0
- data/lib/ooxml_parser/pptx_parser/{pptx_data/presentation → presentation}/slide/slide/timing/time_node/common_timing.rb +0 -0
- data/lib/ooxml_parser/pptx_parser/{pptx_data/presentation → presentation}/slide/slide/timing/time_node.rb +0 -0
- data/lib/ooxml_parser/pptx_parser/{pptx_data/presentation → presentation}/slide/slide/timing.rb +0 -0
- data/lib/ooxml_parser/pptx_parser/{pptx_data/presentation → presentation}/slide/slide_helper.rb +0 -0
- data/lib/ooxml_parser/pptx_parser/{pptx_data/presentation → presentation}/slide/transition/transition/sound_action/sound.rb +0 -0
- data/lib/ooxml_parser/pptx_parser/{pptx_data/presentation → presentation}/slide/transition/transition/sound_action.rb +0 -0
- data/lib/ooxml_parser/pptx_parser/{pptx_data/presentation → presentation}/slide/transition/transition.rb +0 -0
- data/lib/ooxml_parser/pptx_parser/{pptx_data/presentation → presentation}/slide/transition/transition_properties/transition_properties/wheel.rb +0 -0
- data/lib/ooxml_parser/pptx_parser/{pptx_data/presentation → presentation}/slide/transition/transition_properties/transition_properties.rb +0 -0
- data/lib/ooxml_parser/pptx_parser/{pptx_data/presentation → presentation}/slide.rb +0 -0
- data/lib/ooxml_parser/pptx_parser/{pptx_data/presentation → presentation}/slide_layout_file.rb +0 -0
- data/lib/ooxml_parser/pptx_parser/{pptx_data/presentation → presentation}/slide_layouts_helper.rb +0 -0
- data/lib/ooxml_parser/pptx_parser/{pptx_data/presentation → presentation}/slide_master_file.rb +0 -0
- data/lib/ooxml_parser/pptx_parser/{pptx_data/presentation → presentation}/slide_masters_helper.rb +0 -0
- data/lib/ooxml_parser/pptx_parser/{pptx_data/presentation → presentation}/slide_size.rb +0 -0
- data/lib/ooxml_parser/pptx_parser/{pptx_data/presentation → presentation}/table_styles.rb +0 -0
- data/lib/ooxml_parser/pptx_parser/{pptx_data/presentation.rb → presentation.rb} +2 -3
- data/lib/ooxml_parser/{pptx_parser/pptx_parser.rb → pptx_parser.rb} +1 -1
- data/lib/ooxml_parser/version.rb +1 -1
- data/lib/ooxml_parser/xlsx_parser/{xlsx_data/view_model/workbook → workbook}/chartsheet.rb +0 -0
- data/lib/ooxml_parser/xlsx_parser/{xlsx_data/view_model/workbook → workbook}/defined_name.rb +0 -0
- data/lib/ooxml_parser/xlsx_parser/{xlsx_data/view_model/workbook → workbook}/pivot_cache/pivot_cache_definition/cache_fields/cache_field/shared_items.rb +0 -0
- data/lib/ooxml_parser/xlsx_parser/{xlsx_data/view_model/workbook → workbook}/pivot_cache/pivot_cache_definition/cache_fields/cache_field.rb +0 -0
- data/lib/ooxml_parser/xlsx_parser/{xlsx_data/view_model/workbook → workbook}/pivot_cache/pivot_cache_definition/cache_fields.rb +0 -0
- data/lib/ooxml_parser/xlsx_parser/{xlsx_data/view_model/workbook → workbook}/pivot_cache/pivot_cache_definition/cache_source/worksheet_source.rb +0 -0
- data/lib/ooxml_parser/xlsx_parser/{xlsx_data/view_model/workbook → workbook}/pivot_cache/pivot_cache_definition/cache_source.rb +0 -0
- data/lib/ooxml_parser/xlsx_parser/{xlsx_data/view_model/workbook → workbook}/pivot_cache/pivot_cache_definition.rb +0 -0
- data/lib/ooxml_parser/xlsx_parser/{xlsx_data/view_model/workbook → workbook}/pivot_cache.rb +0 -0
- data/lib/ooxml_parser/xlsx_parser/{xlsx_data/view_model/workbook → workbook}/pivot_table_definition/column_row_items/column_row_item.rb +0 -0
- data/lib/ooxml_parser/xlsx_parser/{xlsx_data/view_model/workbook → workbook}/pivot_table_definition/column_row_items.rb +0 -0
- data/lib/ooxml_parser/xlsx_parser/{xlsx_data/view_model/workbook → workbook}/pivot_table_definition/location.rb +0 -0
- data/lib/ooxml_parser/xlsx_parser/{xlsx_data/view_model/workbook → workbook}/pivot_table_definition/pivot_fields/pivot_field/items/item.rb +0 -0
- data/lib/ooxml_parser/xlsx_parser/{xlsx_data/view_model/workbook → workbook}/pivot_table_definition/pivot_fields/pivot_field/items.rb +0 -0
- data/lib/ooxml_parser/xlsx_parser/{xlsx_data/view_model/workbook → workbook}/pivot_table_definition/pivot_fields/pivot_field.rb +0 -0
- data/lib/ooxml_parser/xlsx_parser/{xlsx_data/view_model/workbook → workbook}/pivot_table_definition/pivot_fields.rb +0 -0
- data/lib/ooxml_parser/xlsx_parser/{xlsx_data/view_model/workbook → workbook}/pivot_table_definition/pivot_table_style_info.rb +0 -0
- data/lib/ooxml_parser/xlsx_parser/{xlsx_data/view_model/workbook → workbook}/pivot_table_definition.rb +0 -0
- data/lib/ooxml_parser/xlsx_parser/{xlsx_data/view_model/workbook → workbook}/shared_string_table/string_index.rb +0 -0
- data/lib/ooxml_parser/xlsx_parser/{xlsx_data/view_model/workbook → workbook}/shared_string_table.rb +0 -0
- data/lib/ooxml_parser/xlsx_parser/{xlsx_data/view_model/workbook → workbook}/sheet.rb +0 -0
- data/lib/ooxml_parser/xlsx_parser/{xlsx_data/view_model/workbook → workbook}/style_sheet/cell_xfs/cell_style/alignment.rb +0 -0
- data/lib/ooxml_parser/xlsx_parser/{xlsx_data/view_model/workbook → workbook}/style_sheet/cell_xfs/cell_style/protection.rb +0 -0
- data/lib/ooxml_parser/xlsx_parser/{xlsx_data/view_model/workbook → workbook}/style_sheet/cell_xfs/xf.rb +0 -0
- data/lib/ooxml_parser/xlsx_parser/{xlsx_data/view_model/workbook → workbook}/style_sheet/cell_xfs.rb +0 -0
- data/lib/ooxml_parser/xlsx_parser/{xlsx_data/view_model/workbook → workbook}/style_sheet/differential_formatting_records.rb +0 -0
- data/lib/ooxml_parser/xlsx_parser/{xlsx_data/view_model/workbook → workbook}/style_sheet/fills/fill/pattern_fill.rb +0 -0
- data/lib/ooxml_parser/xlsx_parser/{xlsx_data/view_model/workbook → workbook}/style_sheet/fills/fill.rb +0 -0
- data/lib/ooxml_parser/xlsx_parser/{xlsx_data/view_model/workbook → workbook}/style_sheet/fills.rb +0 -0
- data/lib/ooxml_parser/xlsx_parser/{xlsx_data/view_model/workbook → workbook}/style_sheet/fonts/font.rb +0 -0
- data/lib/ooxml_parser/xlsx_parser/{xlsx_data/view_model/workbook → workbook}/style_sheet/fonts.rb +0 -0
- data/lib/ooxml_parser/xlsx_parser/{xlsx_data/view_model/workbook → workbook}/style_sheet/number_formats/number_format.rb +0 -0
- data/lib/ooxml_parser/xlsx_parser/{xlsx_data/view_model/workbook → workbook}/style_sheet/number_formats.rb +0 -0
- data/lib/ooxml_parser/xlsx_parser/{xlsx_data/view_model/workbook → workbook}/style_sheet/xlsx_borders/xlsx_border.rb +0 -0
- data/lib/ooxml_parser/xlsx_parser/{xlsx_data/view_model/workbook → workbook}/style_sheet/xlsx_borders.rb +0 -0
- data/lib/ooxml_parser/xlsx_parser/{xlsx_data/view_model/workbook → workbook}/style_sheet.rb +0 -0
- data/lib/ooxml_parser/xlsx_parser/{xlsx_data/view_model/workbook → workbook}/workbook_helpers.rb +0 -0
- data/lib/ooxml_parser/xlsx_parser/{xlsx_data/view_model/workbook → workbook}/workbook_protection.rb +0 -0
- data/lib/ooxml_parser/xlsx_parser/{xlsx_data/view_model/workbook → workbook}/worksheet/excel_comments/author.rb +0 -0
- data/lib/ooxml_parser/xlsx_parser/{xlsx_data/view_model/workbook → workbook}/worksheet/excel_comments/comment_list.rb +0 -0
- data/lib/ooxml_parser/xlsx_parser/{xlsx_data/view_model/workbook → workbook}/worksheet/excel_comments/excel_comment.rb +0 -0
- data/lib/ooxml_parser/xlsx_parser/{xlsx_data/view_model/workbook → workbook}/worksheet/excel_comments.rb +0 -0
- data/lib/ooxml_parser/xlsx_parser/{xlsx_data/view_model/workbook → workbook}/worksheet/ole_objects.rb +0 -0
- data/lib/ooxml_parser/xlsx_parser/{xlsx_data/view_model/workbook → workbook}/worksheet/page_setup.rb +0 -0
- data/lib/ooxml_parser/xlsx_parser/{xlsx_data/view_model/workbook → workbook}/worksheet/protected_range.rb +0 -0
- data/lib/ooxml_parser/xlsx_parser/{xlsx_data/view_model/workbook → workbook}/worksheet/sheet_format_properties.rb +0 -0
- data/lib/ooxml_parser/xlsx_parser/{xlsx_data/view_model/workbook → workbook}/worksheet/sheet_protection.rb +0 -0
- data/lib/ooxml_parser/xlsx_parser/{xlsx_data/view_model/workbook → workbook}/worksheet/sheet_view/pane.rb +1 -1
- data/lib/ooxml_parser/xlsx_parser/{xlsx_data/view_model/workbook → workbook}/worksheet/sheet_view/selection.rb +1 -1
- data/lib/ooxml_parser/xlsx_parser/{xlsx_data/view_model/workbook → workbook}/worksheet/sheet_view.rb +1 -1
- data/lib/ooxml_parser/xlsx_parser/{xlsx_data/view_model/workbook → workbook}/worksheet/table_part/autofilter/filter_column/custom_filters/custom_filter.rb +0 -0
- data/lib/ooxml_parser/xlsx_parser/{xlsx_data/view_model/workbook → workbook}/worksheet/table_part/autofilter/filter_column/custom_filters.rb +0 -0
- data/lib/ooxml_parser/xlsx_parser/{xlsx_data/view_model/workbook → workbook}/worksheet/table_part/autofilter/filter_column.rb +0 -0
- data/lib/ooxml_parser/xlsx_parser/{xlsx_data/view_model/workbook → workbook}/worksheet/table_part/autofilter.rb +0 -0
- data/lib/ooxml_parser/xlsx_parser/{xlsx_data/view_model/workbook → workbook}/worksheet/table_part/extension_list/extension/conditional_formattings/conditional_formatting/conditional_formatting_rule/color_scale.rb +0 -0
- data/lib/ooxml_parser/xlsx_parser/{xlsx_data/view_model/workbook → workbook}/worksheet/table_part/extension_list/extension/conditional_formattings/conditional_formatting/conditional_formatting_rule/data_bar/conditional_format_value_object.rb +0 -0
- data/lib/ooxml_parser/xlsx_parser/{xlsx_data/view_model/workbook → workbook}/worksheet/table_part/extension_list/extension/conditional_formattings/conditional_formatting/conditional_formatting_rule/data_bar.rb +0 -0
- data/lib/ooxml_parser/xlsx_parser/{xlsx_data/view_model/workbook → workbook}/worksheet/table_part/extension_list/extension/conditional_formattings/conditional_formatting/conditional_formatting_rule/differential_formatting_record.rb +0 -0
- data/lib/ooxml_parser/xlsx_parser/{xlsx_data/view_model/workbook → workbook}/worksheet/table_part/extension_list/extension/conditional_formattings/conditional_formatting/conditional_formatting_rule/icon_set/conditional_formatting_icon.rb +0 -0
- data/lib/ooxml_parser/xlsx_parser/{xlsx_data/view_model/workbook → workbook}/worksheet/table_part/extension_list/extension/conditional_formattings/conditional_formatting/conditional_formatting_rule/icon_set.rb +0 -0
- data/lib/ooxml_parser/xlsx_parser/{xlsx_data/view_model/workbook → workbook}/worksheet/table_part/extension_list/extension/conditional_formattings/conditional_formatting/conditional_formatting_rule.rb +0 -0
- data/lib/ooxml_parser/xlsx_parser/{xlsx_data/view_model/workbook → workbook}/worksheet/table_part/extension_list/extension/conditional_formattings/conditional_formatting.rb +0 -0
- data/lib/ooxml_parser/xlsx_parser/{xlsx_data/view_model/workbook → workbook}/worksheet/table_part/extension_list/extension/conditional_formattings.rb +0 -0
- data/lib/ooxml_parser/xlsx_parser/{xlsx_data/view_model/workbook → workbook}/worksheet/table_part/extension_list/extension/data_validations/data_validation/data_validation_formula.rb +0 -0
- data/lib/ooxml_parser/xlsx_parser/{xlsx_data/view_model/workbook → workbook}/worksheet/table_part/extension_list/extension/data_validations/data_validation.rb +0 -0
- data/lib/ooxml_parser/xlsx_parser/{xlsx_data/view_model/workbook → workbook}/worksheet/table_part/extension_list/extension/data_validations.rb +0 -0
- data/lib/ooxml_parser/xlsx_parser/workbook/worksheet/table_part/extension_list/extension/sparkline_groups/sparkline_group/sparklines/sparkline.rb +26 -0
- data/lib/ooxml_parser/xlsx_parser/workbook/worksheet/table_part/extension_list/extension/sparkline_groups/sparkline_group/sparklines.rb +33 -0
- data/lib/ooxml_parser/xlsx_parser/{xlsx_data/view_model/workbook → workbook}/worksheet/table_part/extension_list/extension/sparkline_groups/sparkline_group.rb +5 -0
- data/lib/ooxml_parser/xlsx_parser/{xlsx_data/view_model/workbook → workbook}/worksheet/table_part/extension_list/extension/sparkline_groups.rb +0 -0
- data/lib/ooxml_parser/xlsx_parser/{xlsx_data/view_model/workbook → workbook}/worksheet/table_part/extension_list/extension/x14_table.rb +0 -0
- data/lib/ooxml_parser/xlsx_parser/{xlsx_data/view_model/workbook → workbook}/worksheet/table_part/extension_list/extension.rb +0 -0
- data/lib/ooxml_parser/xlsx_parser/{xlsx_data/view_model/workbook → workbook}/worksheet/table_part/extension_list.rb +0 -0
- data/lib/ooxml_parser/xlsx_parser/{xlsx_data/view_model/workbook → workbook}/worksheet/table_part/table_columns/table_column.rb +0 -0
- data/lib/ooxml_parser/xlsx_parser/{xlsx_data/view_model/workbook → workbook}/worksheet/table_part/table_columns.rb +0 -0
- data/lib/ooxml_parser/xlsx_parser/{xlsx_data/view_model/workbook → workbook}/worksheet/table_part/table_style_info.rb +0 -0
- data/lib/ooxml_parser/xlsx_parser/{xlsx_data/view_model/workbook → workbook}/worksheet/table_part.rb +0 -0
- data/lib/ooxml_parser/xlsx_parser/{xlsx_data/view_model/workbook → workbook}/worksheet/worksheet_helper.rb +0 -0
- data/lib/ooxml_parser/xlsx_parser/{xlsx_data/view_model/workbook → workbook}/worksheet/xlsx_column_properties.rb +0 -0
- data/lib/ooxml_parser/xlsx_parser/{xlsx_data/view_model/workbook → workbook}/worksheet/xlsx_drawing/client_data.rb +0 -0
- data/lib/ooxml_parser/xlsx_parser/{xlsx_data/view_model/workbook → workbook}/worksheet/xlsx_drawing/xlsx_drawing_position_parameters.rb +0 -0
- data/lib/ooxml_parser/xlsx_parser/{xlsx_data/view_model/workbook → workbook}/worksheet/xlsx_drawing.rb +0 -0
- data/lib/ooxml_parser/xlsx_parser/{xlsx_data/view_model/workbook → workbook}/worksheet/xlsx_header_footer/header_footer_child.rb +0 -0
- data/lib/ooxml_parser/xlsx_parser/{xlsx_data/view_model/workbook → workbook}/worksheet/xlsx_header_footer.rb +0 -0
- data/lib/ooxml_parser/xlsx_parser/{xlsx_data/view_model/workbook → workbook}/worksheet/xlsx_row/xlsx_cell/formula.rb +0 -0
- data/lib/ooxml_parser/xlsx_parser/{xlsx_data/view_model/workbook → workbook}/worksheet/xlsx_row/xlsx_cell.rb +0 -0
- data/lib/ooxml_parser/xlsx_parser/{xlsx_data/view_model/workbook → workbook}/worksheet/xlsx_row.rb +1 -1
- data/lib/ooxml_parser/xlsx_parser/{xlsx_data/view_model/workbook → workbook}/worksheet.rb +0 -0
- data/lib/ooxml_parser/xlsx_parser/{xlsx_data/view_model/workbook.rb → workbook.rb} +0 -0
- data/lib/ooxml_parser/{xlsx_parser/xlsx_parser.rb → xlsx_parser.rb} +1 -1
- data/lib/ooxml_parser.rb +4 -16
- metadata +223 -234
- data/lib/ooxml_parser/common_parser/common_data/alternate_content/drawing/graphic/shape/docx_shape/shape_style/fill_reference.rb +0 -31
- data/lib/ooxml_parser/common_parser/common_data/alternate_content/drawing/graphic/shape/docx_shape/shape_style/line_reference.rb +0 -31
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 409ce77d24b38512604d5215a2bd6a54f887685db71cd9942c81935ef678f3b0
|
|
4
|
+
data.tar.gz: 4f7edddf4bab2d5d6ab9485754b333a2943d2df96fdcc933d671e820cd9dc70d
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: aad06b0a4dd775d5efe4411d43b87ebda68fe05a5a15924fb6773d77169141284baaf8047eee042634a2e6145649ac0fce2e9aa143d401587434598eeff5f73d
|
|
7
|
+
data.tar.gz: c2ab404a2ab3f559a312da5953da7a668b4ae1c359ff790bc4b4d577ccbd453e4314844125cc64e144c884f9e187389586c98f085c4d27ca5837d8a1b9e61f9d
|
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
3
|
module OoxmlParser
|
|
4
|
-
# Class for parsing `a:effectRef` tags
|
|
5
|
-
class
|
|
4
|
+
# Class for parsing `a:fillRef`, `a:effectRef`, `a:lnRef` tags
|
|
5
|
+
class StyleMatrixReference < OOXMLDocumentObject
|
|
6
6
|
# @return [Integer] Style Matrix Index
|
|
7
7
|
attr_reader :index
|
|
8
8
|
# @return [Color] scheme color of EffectReference
|
|
9
9
|
attr_reader :scheme_color
|
|
10
10
|
|
|
11
|
-
# Parse
|
|
11
|
+
# Parse StyleMatrixReference object
|
|
12
12
|
# @param node [Nokogiri::XML:Element] node to parse
|
|
13
|
-
# @return [
|
|
13
|
+
# @return [StyleMatrixReference] result of parsing
|
|
14
14
|
def parse(node)
|
|
15
15
|
node.attributes.each do |key, value|
|
|
16
16
|
case key
|
|
@@ -1,9 +1,7 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
require_relative 'shape_style/
|
|
4
|
-
require_relative 'shape_style/fill_reference'
|
|
3
|
+
require_relative 'shape_style/style_matrix_reference'
|
|
5
4
|
require_relative 'shape_style/font_reference'
|
|
6
|
-
require_relative 'shape_style/line_reference'
|
|
7
5
|
module OoxmlParser
|
|
8
6
|
# Class for parsing `wps:style` tags
|
|
9
7
|
class ShapeStyle < OOXMLDocumentObject
|
|
@@ -23,13 +21,13 @@ module OoxmlParser
|
|
|
23
21
|
node.xpath('*').each do |node_child|
|
|
24
22
|
case node_child.name
|
|
25
23
|
when 'effectRef'
|
|
26
|
-
@effect_reference =
|
|
24
|
+
@effect_reference = StyleMatrixReference.new(parent: self).parse(node_child)
|
|
27
25
|
when 'fillRef'
|
|
28
|
-
@fill_reference =
|
|
26
|
+
@fill_reference = StyleMatrixReference.new(parent: self).parse(node_child)
|
|
29
27
|
when 'fontRef'
|
|
30
28
|
@font_reference = FontReference.new(parent: self).parse(node_child)
|
|
31
29
|
when 'lnRef'
|
|
32
|
-
@line_reference =
|
|
30
|
+
@line_reference = StyleMatrixReference.new(parent: self).parse(node_child)
|
|
33
31
|
end
|
|
34
32
|
end
|
|
35
33
|
self
|
|
@@ -12,23 +12,6 @@ module OoxmlParser
|
|
|
12
12
|
end
|
|
13
13
|
|
|
14
14
|
class << self
|
|
15
|
-
# @param [String] string to parse
|
|
16
|
-
# @return [Coordinates]
|
|
17
|
-
def parse_coordinates_from_string(string)
|
|
18
|
-
coordinates = Coordinates.new
|
|
19
|
-
begin
|
|
20
|
-
coordinates.list = string.match(/'\w+'/)[0].delete("''")
|
|
21
|
-
rescue StandardError
|
|
22
|
-
'Raise Exception'
|
|
23
|
-
end
|
|
24
|
-
string = string.split('!').last
|
|
25
|
-
if coordinates?(string)
|
|
26
|
-
coordinates.row = string.scan(/[0-9]/).join.to_i
|
|
27
|
-
coordinates.column = string.scan(/[A-Z]/).join
|
|
28
|
-
end
|
|
29
|
-
coordinates
|
|
30
|
-
end
|
|
31
|
-
|
|
32
15
|
# Parse range of coordinates
|
|
33
16
|
# @param arguments_string [String] data to parse
|
|
34
17
|
# @return [Array] result
|
|
@@ -109,6 +92,18 @@ module OoxmlParser
|
|
|
109
92
|
end
|
|
110
93
|
end
|
|
111
94
|
|
|
95
|
+
# Parse string to coordinates
|
|
96
|
+
# @param [String] string to parse
|
|
97
|
+
# @return [Coordinates] result
|
|
98
|
+
def parse_string(string)
|
|
99
|
+
string = extract_list_from_string(string) if list_name_in_string?(string)
|
|
100
|
+
if Coordinates.coordinates?(string)
|
|
101
|
+
@row = string.scan(/\d/).join.to_i
|
|
102
|
+
@column = string.scan(/[A-Z]/).join
|
|
103
|
+
end
|
|
104
|
+
self
|
|
105
|
+
end
|
|
106
|
+
|
|
112
107
|
# @return [Integer] number of column
|
|
113
108
|
# This method takes @column string
|
|
114
109
|
# and converts into integer
|
|
@@ -118,10 +113,6 @@ module OoxmlParser
|
|
|
118
113
|
end
|
|
119
114
|
end
|
|
120
115
|
|
|
121
|
-
alias get_column_number column_number
|
|
122
|
-
extend Gem::Deprecate
|
|
123
|
-
deprecate :get_column_number, 'column_number', 2020, 1
|
|
124
|
-
|
|
125
116
|
# Compares rows of two cells
|
|
126
117
|
# @param [Coordinates] other_cell other cell coordinates
|
|
127
118
|
# @return [true, false] true, if row greater, than other row
|
|
@@ -151,5 +142,23 @@ module OoxmlParser
|
|
|
151
142
|
def ==(other)
|
|
152
143
|
other.is_a?(Coordinates) ? (@row == other.row && @column == other.column) : false
|
|
153
144
|
end
|
|
145
|
+
|
|
146
|
+
private
|
|
147
|
+
|
|
148
|
+
# Check if there is list name in string
|
|
149
|
+
# @param [String] string to check
|
|
150
|
+
# @return [Boolean] result
|
|
151
|
+
def list_name_in_string?(string)
|
|
152
|
+
string.include?('!')
|
|
153
|
+
end
|
|
154
|
+
|
|
155
|
+
# Extract list name and leave coordinates
|
|
156
|
+
# @param [String] string to parse
|
|
157
|
+
# @return [String] coordinates string without list
|
|
158
|
+
def extract_list_from_string(string)
|
|
159
|
+
split = string.split('!')
|
|
160
|
+
@list = split[0...-1].join('!')
|
|
161
|
+
split[-1]
|
|
162
|
+
end
|
|
154
163
|
end
|
|
155
164
|
end
|
|
@@ -43,14 +43,14 @@ module OoxmlParser
|
|
|
43
43
|
node.attributes.each do |key, value|
|
|
44
44
|
case key
|
|
45
45
|
when 'location'
|
|
46
|
-
@url = Coordinates.
|
|
46
|
+
@url = Coordinates.new.parse_string(value.value)
|
|
47
47
|
when 'id'
|
|
48
48
|
@id = value.value
|
|
49
49
|
@url = OOXMLDocumentObject.get_link_from_rels(@id) unless @id.empty?
|
|
50
50
|
when 'tooltip'
|
|
51
51
|
@tooltip = value.value
|
|
52
52
|
when 'ref'
|
|
53
|
-
@coordinates = Coordinates.
|
|
53
|
+
@coordinates = Coordinates.new.parse_string(value.value)
|
|
54
54
|
when 'action'
|
|
55
55
|
@action_link = value.value
|
|
56
56
|
when 'highlightClick'
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
-
require 'filemagic' unless Gem.win_platform?
|
|
4
3
|
require 'securerandom'
|
|
5
4
|
require 'nokogiri'
|
|
6
5
|
require 'zip'
|
|
@@ -59,28 +58,6 @@ module OoxmlParser
|
|
|
59
58
|
# @return [String] path to root folder
|
|
60
59
|
attr_accessor :path_to_folder
|
|
61
60
|
|
|
62
|
-
# @param path_to_file [String] file
|
|
63
|
-
# @param ignore_system [True, False] should host system be ignored, since
|
|
64
|
-
# this method is OS-dependent
|
|
65
|
-
# @return [True, False] Check if file is protected by password on open
|
|
66
|
-
def encrypted_file?(path_to_file, ignore_system: false)
|
|
67
|
-
if Gem.win_platform? || ignore_system
|
|
68
|
-
warn 'FileMagic and checking file for encryption is not supported on Windows'
|
|
69
|
-
return false
|
|
70
|
-
end
|
|
71
|
-
file_result = FileMagic.new(:mime).file(path_to_file)
|
|
72
|
-
# Support of Encrtypted status in `file` util was introduced in file v5.20
|
|
73
|
-
# but LTS version of ubuntu before 16.04 uses older `file` and it return `Composite Document`
|
|
74
|
-
# https://github.com/file/file/blob/master/ChangeLog#L217
|
|
75
|
-
if file_result.include?('encrypted') ||
|
|
76
|
-
file_result.include?('Composite Document File V2 Document, No summary info') ||
|
|
77
|
-
file_result.include?('application/CDFV2-corrupt')
|
|
78
|
-
warn("File #{path_to_file} is encrypted. Can't parse it")
|
|
79
|
-
return true
|
|
80
|
-
end
|
|
81
|
-
false
|
|
82
|
-
end
|
|
83
|
-
|
|
84
61
|
# Copy this file and rename to zip
|
|
85
62
|
# @param path [String] path to file
|
|
86
63
|
# @return [String] path to result zip
|
data/lib/ooxml_parser/common_parser/common_data/paragraph/paragrpah_properties/paragraph_spacing.rb
CHANGED
|
@@ -38,8 +38,8 @@ module OoxmlParser
|
|
|
38
38
|
private
|
|
39
39
|
|
|
40
40
|
# This is dirty workaround for situations
|
|
41
|
-
# Then
|
|
42
|
-
#
|
|
41
|
+
# Then `@line_rule` parsed after `@line` so getting
|
|
42
|
+
# `@line` value is totally screwed up
|
|
43
43
|
# @param [Nokogiri::XML:Node] node with ParagraphSpacing
|
|
44
44
|
# @return [Hash] hash with sorted values
|
|
45
45
|
# TODO: Totally redone parsing of spacing to remove this workaround
|
|
@@ -8,11 +8,11 @@ module OoxmlParser
|
|
|
8
8
|
|
|
9
9
|
# @return [String] result of convert of object to string
|
|
10
10
|
def to_s
|
|
11
|
-
"Table position left: #{left}, "\
|
|
12
|
-
"right: #{right}, "\
|
|
13
|
-
"top: #{top}, "\
|
|
14
|
-
"bottom #{bottom}, "\
|
|
15
|
-
"position x: #{position_x}, "\
|
|
11
|
+
"Table position left: #{left}, " \
|
|
12
|
+
"right: #{right}, " \
|
|
13
|
+
"top: #{top}, " \
|
|
14
|
+
"bottom #{bottom}, " \
|
|
15
|
+
"position x: #{position_x}, " \
|
|
16
16
|
"position y: #{position_y}"
|
|
17
17
|
end
|
|
18
18
|
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module OoxmlParser
|
|
4
|
+
# Check if file is encrypted
|
|
5
|
+
class EncryptionChecker
|
|
6
|
+
def initialize(file_path, ignore_system: false)
|
|
7
|
+
@file_path = file_path
|
|
8
|
+
@ignore_system = ignore_system
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
# @return [Boolean] is file encrypted
|
|
12
|
+
def encrypted?
|
|
13
|
+
return false unless compatible_system?
|
|
14
|
+
|
|
15
|
+
# Support of Encrypted status in `file` util was introduced in file v5.20
|
|
16
|
+
# but LTS version of ubuntu before 16.04 uses older `file` and it return `Composite Document`
|
|
17
|
+
# https://github.com/file/file/blob/0eb7c1b83341cc954620b45d2e2d65ee7df1a4e7/ChangeLog#L623
|
|
18
|
+
if mime_type.include?('encrypted') ||
|
|
19
|
+
mime_type.include?('Composite Document File V2 Document, No summary info') ||
|
|
20
|
+
mime_type.include?('application/CDFV2-corrupt')
|
|
21
|
+
warn("File #{@file_path} is encrypted. Can't parse it")
|
|
22
|
+
return true
|
|
23
|
+
end
|
|
24
|
+
false
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
private
|
|
28
|
+
|
|
29
|
+
# Check if system is compatible with `file` utility
|
|
30
|
+
# @return [Boolean] Result of check
|
|
31
|
+
def compatible_system?
|
|
32
|
+
return true if !Gem.win_platform? && !@ignore_system
|
|
33
|
+
|
|
34
|
+
warn 'Checking file for encryption is not supported on Windows'
|
|
35
|
+
false
|
|
36
|
+
end
|
|
37
|
+
|
|
38
|
+
# @return [String] mime type of file
|
|
39
|
+
def mime_type
|
|
40
|
+
@mime_type ||= `file -b --mime "#{@file_path}"`
|
|
41
|
+
end
|
|
42
|
+
end
|
|
43
|
+
end
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
+
require_relative 'parser/encryption_checker'
|
|
4
|
+
|
|
3
5
|
module OoxmlParser
|
|
4
6
|
# Basic class for OoxmlParser
|
|
5
7
|
class Parser
|
|
@@ -7,7 +9,7 @@ module OoxmlParser
|
|
|
7
9
|
# @param path_to_file [String] file
|
|
8
10
|
# @return [CommonDocumentStructure] structure of doc
|
|
9
11
|
def self.parse_format(path_to_file)
|
|
10
|
-
return nil if
|
|
12
|
+
return nil if EncryptionChecker.new(path_to_file).encrypted?
|
|
11
13
|
|
|
12
14
|
path_to_zip_file = OOXMLDocumentObject.copy_file_and_rename_to_zip(path_to_file)
|
|
13
15
|
OOXMLDocumentObject.path_to_folder = path_to_zip_file.sub(File.basename(path_to_zip_file), '')
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
require_relative 'common_parser/common_data/ooxml_document_object'
|
|
4
|
+
require_relative 'common_parser/common_data/color'
|
|
5
|
+
require_relative 'common_parser/common_data/coordinates'
|
|
6
|
+
require_relative 'common_parser/common_data/font_style'
|
|
7
|
+
require_relative 'common_parser/common_data/borders_properties'
|
|
8
|
+
require_relative 'common_parser/common_data/hyperlink'
|
|
9
|
+
require_relative 'common_parser/common_data/paragraph'
|
|
10
|
+
require_relative 'common_parser/common_data/alternate_content/alternate_content'
|
|
11
|
+
require_relative 'common_parser/common_data/colors/presentation_fill'
|
|
12
|
+
require_relative 'common_parser/common_data/table'
|
|
13
|
+
require_relative 'common_parser/common_data/relationships'
|
|
14
|
+
require_relative 'common_parser/parser'
|
|
15
|
+
require_relative 'common_parser/common_document_structure'
|
|
File without changes
|
data/lib/ooxml_parser/docx_parser/{docx_data/document_structure → document_structure}/comments.rb
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module OoxmlParser
|
|
4
|
+
# Class for parsing `w:instrText` object
|
|
5
|
+
class InstructionText < TextValue
|
|
6
|
+
# @return [Boolean] is current object for hyperlink
|
|
7
|
+
def hyperlink?
|
|
8
|
+
value.include?('HYPERLINK')
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
# @return [Boolean] is current object for page number
|
|
12
|
+
def page_number?
|
|
13
|
+
value.match?(/PAGE\s+\\\*/)
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
# @return [Hyperlink] convert InstructionText to Hyperlink
|
|
17
|
+
def to_hyperlink
|
|
18
|
+
Hyperlink.new(value.sub('HYPERLINK ', '').split(' \\o ').first,
|
|
19
|
+
value.sub('HYPERLINK', '').split(' \\o ').last)
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
end
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
# noinspection RubyTooManyInstanceVariablesInspection
|
|
4
4
|
require_relative 'docx_paragraph_run/docx_paragraph_run_helpers'
|
|
5
|
+
require_relative 'docx_paragraph_run/instruction_text'
|
|
5
6
|
require_relative 'docx_paragraph_run/object'
|
|
6
7
|
require_relative 'docx_paragraph_run/text_outline'
|
|
7
8
|
require_relative 'docx_paragraph_run/text_fill'
|
|
@@ -15,9 +16,9 @@ module OoxmlParser
|
|
|
15
16
|
:link, :highlight, :effect, :caps, :w,
|
|
16
17
|
:position, :em, :spacing, :break, :touch, :shape, :footnote, :endnote, :fld_char, :style,
|
|
17
18
|
:comments, :alternate_content, :page_number, :text_outline, :text_fill
|
|
18
|
-
# @return [
|
|
19
|
-
#
|
|
20
|
-
|
|
19
|
+
# @return [InstructionText] text of instruction
|
|
20
|
+
# See ECMA-376, 17.16.23 instrText (Field Code)
|
|
21
|
+
attr_reader :instruction_text
|
|
21
22
|
# @return [RunProperties] properties of run
|
|
22
23
|
attr_accessor :run_properties
|
|
23
24
|
# @return [RunObject] object of run
|
|
@@ -96,10 +97,10 @@ module OoxmlParser
|
|
|
96
97
|
parse_properties(node_child)
|
|
97
98
|
@run_properties = RunProperties.new(parent: self).parse(node_child)
|
|
98
99
|
when 'instrText'
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
@link =
|
|
102
|
-
elsif
|
|
100
|
+
@instruction_text = InstructionText.new(parent: self).parse(node_child)
|
|
101
|
+
if @instruction_text.hyperlink?
|
|
102
|
+
@link = @instruction_text.to_hyperlink
|
|
103
|
+
elsif @instruction_text.page_number?
|
|
103
104
|
@text = '*PAGE NUMBER*'
|
|
104
105
|
end
|
|
105
106
|
when 'fldChar'
|
|
File without changes
|
|
File without changes
|
|
@@ -25,7 +25,7 @@ module OoxmlParser
|
|
|
25
25
|
# Convert to string
|
|
26
26
|
# @return [String] result of conversion
|
|
27
27
|
def to_s
|
|
28
|
-
"first line indent: #{@first_line_indent}, left indent: #{@left_indent}, "\
|
|
28
|
+
"first line indent: #{@first_line_indent}, left indent: #{@left_indent}, " \
|
|
29
29
|
"right indent: #{@right_indent}, hanging indent: #{@hanging_indent}"
|
|
30
30
|
end
|
|
31
31
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
@@ -18,7 +18,7 @@ module OoxmlParser
|
|
|
18
18
|
# Class for data of DocxParagraph
|
|
19
19
|
class DocxParagraph < OOXMLDocumentObject
|
|
20
20
|
include DocxParagraphHelper
|
|
21
|
-
attr_accessor :number, :
|
|
21
|
+
attr_accessor :number, :align, :spacing, :ind, :numbering,
|
|
22
22
|
:character_style_array, :page_break, :borders, :keep_lines,
|
|
23
23
|
:contextual_spacing, :sector_properties, :page_numbering, :section_break, :style, :keep_next,
|
|
24
24
|
:orphan_control
|
|
@@ -39,8 +39,6 @@ module OoxmlParser
|
|
|
39
39
|
|
|
40
40
|
def initialize(parent: nil)
|
|
41
41
|
@number = 0
|
|
42
|
-
@bookmark_start = []
|
|
43
|
-
@bookmark_end = []
|
|
44
42
|
@align = :left
|
|
45
43
|
@spacing = Spacing.new
|
|
46
44
|
@ind = Indents.new
|
|
@@ -62,8 +60,6 @@ module OoxmlParser
|
|
|
62
60
|
# @return [void]
|
|
63
61
|
def initialize_copy(source)
|
|
64
62
|
super
|
|
65
|
-
@bookmark_start = source.bookmark_start.clone
|
|
66
|
-
@bookmark_end = source.bookmark_end.clone
|
|
67
63
|
@character_style_array = source.character_style_array.clone
|
|
68
64
|
@spacing = source.spacing.clone
|
|
69
65
|
end
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
data/lib/ooxml_parser/docx_parser/{docx_data/document_structure → document_structure}/numbering.rb
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
data/lib/ooxml_parser/docx_parser/{docx_data/document_structure → document_structure}/styles.rb
RENAMED
|
File without changes
|
|
File without changes
|