caxlsx 3.1.1 → 3.2.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/.yardopts +9 -9
- data/.yardopts_guide +18 -18
- data/CHANGELOG.md +354 -343
- data/LICENSE +21 -21
- data/README.md +168 -172
- data/Rakefile +29 -29
- data/examples/generate.rb +15 -15
- data/lib/axlsx/content_type/abstract_content_type.rb +32 -32
- data/lib/axlsx/content_type/content_type.rb +26 -26
- data/lib/axlsx/content_type/default.rb +25 -25
- data/lib/axlsx/content_type/override.rb +25 -25
- data/lib/axlsx/doc_props/app.rb +235 -235
- data/lib/axlsx/doc_props/core.rb +39 -39
- data/lib/axlsx/drawing/area_chart.rb +99 -99
- data/lib/axlsx/drawing/area_series.rb +110 -110
- data/lib/axlsx/drawing/ax_data_source.rb +26 -26
- data/lib/axlsx/drawing/axes.rb +61 -61
- data/lib/axlsx/drawing/axis.rb +190 -190
- data/lib/axlsx/drawing/bar_3D_chart.rb +148 -148
- data/lib/axlsx/drawing/bar_chart.rb +138 -138
- data/lib/axlsx/drawing/bar_series.rb +97 -97
- data/lib/axlsx/drawing/bubble_chart.rb +59 -59
- data/lib/axlsx/drawing/bubble_series.rb +63 -63
- data/lib/axlsx/drawing/cat_axis.rb +85 -85
- data/lib/axlsx/drawing/chart.rb +276 -276
- data/lib/axlsx/drawing/d_lbls.rb +90 -90
- data/lib/axlsx/drawing/drawing.rb +167 -167
- data/lib/axlsx/drawing/graphic_frame.rb +54 -54
- data/lib/axlsx/drawing/hyperlink.rb +100 -100
- data/lib/axlsx/drawing/line_3D_chart.rb +68 -68
- data/lib/axlsx/drawing/line_chart.rb +99 -99
- data/lib/axlsx/drawing/line_series.rb +110 -110
- data/lib/axlsx/drawing/marker.rb +84 -84
- data/lib/axlsx/drawing/num_data.rb +52 -52
- data/lib/axlsx/drawing/num_data_source.rb +62 -62
- data/lib/axlsx/drawing/num_val.rb +34 -34
- data/lib/axlsx/drawing/one_cell_anchor.rb +99 -99
- data/lib/axlsx/drawing/pic.rb +211 -211
- data/lib/axlsx/drawing/picture_locking.rb +42 -42
- data/lib/axlsx/drawing/pie_3D_chart.rb +47 -47
- data/lib/axlsx/drawing/pie_series.rb +74 -74
- data/lib/axlsx/drawing/scaling.rb +60 -60
- data/lib/axlsx/drawing/scatter_chart.rb +74 -74
- data/lib/axlsx/drawing/scatter_series.rb +129 -98
- data/lib/axlsx/drawing/ser_axis.rb +45 -45
- data/lib/axlsx/drawing/series.rb +69 -69
- data/lib/axlsx/drawing/series_title.rb +25 -25
- data/lib/axlsx/drawing/str_data.rb +42 -42
- data/lib/axlsx/drawing/str_val.rb +34 -34
- data/lib/axlsx/drawing/title.rb +97 -97
- data/lib/axlsx/drawing/two_cell_anchor.rb +97 -97
- data/lib/axlsx/drawing/val_axis.rb +37 -37
- data/lib/axlsx/drawing/view_3D.rb +115 -115
- data/lib/axlsx/drawing/vml_drawing.rb +42 -42
- data/lib/axlsx/drawing/vml_shape.rb +66 -66
- data/lib/axlsx/package.rb +388 -388
- data/lib/axlsx/rels/relationship.rb +130 -130
- data/lib/axlsx/rels/relationships.rb +32 -32
- data/lib/axlsx/stylesheet/border.rb +73 -71
- data/lib/axlsx/stylesheet/border_pr.rb +71 -71
- data/lib/axlsx/stylesheet/cell_alignment.rb +132 -132
- data/lib/axlsx/stylesheet/cell_protection.rb +41 -41
- data/lib/axlsx/stylesheet/cell_style.rb +72 -72
- data/lib/axlsx/stylesheet/color.rb +76 -76
- data/lib/axlsx/stylesheet/dxf.rb +79 -79
- data/lib/axlsx/stylesheet/fill.rb +35 -35
- data/lib/axlsx/stylesheet/font.rb +156 -156
- data/lib/axlsx/stylesheet/gradient_fill.rb +103 -103
- data/lib/axlsx/stylesheet/gradient_stop.rb +37 -37
- data/lib/axlsx/stylesheet/num_fmt.rb +86 -86
- data/lib/axlsx/stylesheet/pattern_fill.rb +73 -73
- data/lib/axlsx/stylesheet/styles.rb +494 -420
- data/lib/axlsx/stylesheet/table_style.rb +54 -54
- data/lib/axlsx/stylesheet/table_style_element.rb +77 -77
- data/lib/axlsx/stylesheet/table_styles.rb +46 -46
- data/lib/axlsx/stylesheet/xf.rb +147 -147
- data/lib/axlsx/util/accessors.rb +64 -64
- data/lib/axlsx/util/constants.rb +410 -401
- data/lib/axlsx/util/mime_type_utils.rb +11 -11
- data/lib/axlsx/util/options_parser.rb +16 -16
- data/lib/axlsx/util/serialized_attributes.rb +89 -89
- data/lib/axlsx/util/simple_typed_list.rb +179 -179
- data/lib/axlsx/util/storage.rb +146 -146
- data/lib/axlsx/util/validators.rb +312 -312
- data/lib/axlsx/util/zip_command.rb +73 -73
- data/lib/axlsx/version.rb +5 -5
- data/lib/axlsx/workbook/defined_name.rb +128 -128
- data/lib/axlsx/workbook/defined_names.rb +21 -21
- data/lib/axlsx/workbook/shared_strings_table.rb +77 -77
- data/lib/axlsx/workbook/workbook.rb +395 -370
- data/lib/axlsx/workbook/workbook_view.rb +80 -80
- data/lib/axlsx/workbook/workbook_views.rb +22 -22
- data/lib/axlsx/workbook/worksheet/auto_filter/auto_filter.rb +77 -77
- data/lib/axlsx/workbook/worksheet/auto_filter/filter_column.rb +94 -94
- data/lib/axlsx/workbook/worksheet/auto_filter/filters.rb +244 -244
- data/lib/axlsx/workbook/worksheet/break.rb +35 -35
- data/lib/axlsx/workbook/worksheet/cell.rb +506 -505
- data/lib/axlsx/workbook/worksheet/cell_serializer.rb +164 -164
- data/lib/axlsx/workbook/worksheet/cfvo.rb +60 -60
- data/lib/axlsx/workbook/worksheet/cfvos.rb +18 -18
- data/lib/axlsx/workbook/worksheet/col.rb +145 -145
- data/lib/axlsx/workbook/worksheet/col_breaks.rb +35 -35
- data/lib/axlsx/workbook/worksheet/color_scale.rb +110 -110
- data/lib/axlsx/workbook/worksheet/cols.rb +23 -23
- data/lib/axlsx/workbook/worksheet/comment.rb +91 -91
- data/lib/axlsx/workbook/worksheet/comments.rb +82 -82
- data/lib/axlsx/workbook/worksheet/conditional_formatting.rb +82 -82
- data/lib/axlsx/workbook/worksheet/conditional_formatting_rule.rb +220 -220
- data/lib/axlsx/workbook/worksheet/conditional_formattings.rb +25 -25
- data/lib/axlsx/workbook/worksheet/data_bar.rb +129 -129
- data/lib/axlsx/workbook/worksheet/data_validation.rb +246 -246
- data/lib/axlsx/workbook/worksheet/data_validations.rb +28 -28
- data/lib/axlsx/workbook/worksheet/date_time_converter.rb +30 -30
- data/lib/axlsx/workbook/worksheet/dimension.rb +64 -64
- data/lib/axlsx/workbook/worksheet/header_footer.rb +52 -52
- data/lib/axlsx/workbook/worksheet/icon_set.rb +81 -81
- data/lib/axlsx/workbook/worksheet/merged_cells.rb +37 -37
- data/lib/axlsx/workbook/worksheet/outline_pr.rb +33 -33
- data/lib/axlsx/workbook/worksheet/page_margins.rb +97 -97
- data/lib/axlsx/workbook/worksheet/page_set_up_pr.rb +44 -44
- data/lib/axlsx/workbook/worksheet/page_setup.rb +240 -240
- data/lib/axlsx/workbook/worksheet/pane.rb +139 -139
- data/lib/axlsx/workbook/worksheet/pivot_table.rb +296 -294
- data/lib/axlsx/workbook/worksheet/pivot_table_cache_definition.rb +66 -66
- data/lib/axlsx/workbook/worksheet/pivot_tables.rb +24 -24
- data/lib/axlsx/workbook/worksheet/print_options.rb +39 -39
- data/lib/axlsx/workbook/worksheet/protected_range.rb +47 -47
- data/lib/axlsx/workbook/worksheet/protected_ranges.rb +37 -37
- data/lib/axlsx/workbook/worksheet/rich_text.rb +55 -55
- data/lib/axlsx/workbook/worksheet/rich_text_run.rb +250 -250
- data/lib/axlsx/workbook/worksheet/row.rb +164 -164
- data/lib/axlsx/workbook/worksheet/row_breaks.rb +33 -33
- data/lib/axlsx/workbook/worksheet/selection.rb +101 -101
- data/lib/axlsx/workbook/worksheet/sheet_calc_pr.rb +29 -29
- data/lib/axlsx/workbook/worksheet/sheet_data.rb +27 -27
- data/lib/axlsx/workbook/worksheet/sheet_pr.rb +87 -87
- data/lib/axlsx/workbook/worksheet/sheet_protection.rb +118 -118
- data/lib/axlsx/workbook/worksheet/sheet_view.rb +213 -213
- data/lib/axlsx/workbook/worksheet/table.rb +102 -102
- data/lib/axlsx/workbook/worksheet/table_style_info.rb +49 -49
- data/lib/axlsx/workbook/worksheet/tables.rb +34 -34
- data/lib/axlsx/workbook/worksheet/worksheet.rb +786 -768
- data/lib/axlsx/workbook/worksheet/worksheet_comments.rb +58 -58
- data/lib/axlsx/workbook/worksheet/worksheet_drawing.rb +58 -58
- data/lib/axlsx/workbook/worksheet/worksheet_hyperlink.rb +74 -74
- data/lib/axlsx/workbook/worksheet/worksheet_hyperlinks.rb +38 -38
- data/lib/axlsx.rb +185 -171
- data/lib/caxlsx.rb +2 -2
- data/lib/schema/dc.xsd +118 -118
- data/lib/schema/dcmitype.xsd +51 -51
- data/lib/schema/dcterms.xsd +331 -331
- data/lib/schema/dml-chartDrawing.xsd +146 -146
- data/lib/schema/dml-compatibility.xsd +14 -14
- data/lib/schema/dml-lockedCanvas.xsd +11 -11
- data/lib/schema/dml-main.xsd +3048 -3048
- data/lib/schema/dml-picture.xsd +23 -23
- data/lib/schema/dml-spreadsheetDrawing.xsd +185 -185
- data/lib/schema/dml-wordprocessingDrawing.xsd +185 -185
- data/lib/schema/shared-additionalCharacteristics.xsd +28 -28
- data/lib/schema/shared-bibliography.xsd +144 -144
- data/lib/schema/shared-commonSimpleTypes.xsd +166 -166
- data/lib/schema/shared-customXmlDataProperties.xsd +25 -25
- data/lib/schema/shared-customXmlSchemaProperties.xsd +18 -18
- data/lib/schema/shared-documentPropertiesCustom.xsd +59 -59
- data/lib/schema/shared-documentPropertiesExtended.xsd +56 -56
- data/lib/schema/shared-documentPropertiesVariantTypes.xsd +195 -195
- data/lib/schema/shared-relationshipReference.xsd +25 -25
- data/lib/schema/vml-main.xsd +569 -569
- data/lib/schema/vml-officeDrawing.xsd +509 -509
- data/lib/schema/vml-presentationDrawing.xsd +12 -12
- data/lib/schema/vml-spreadsheetDrawing.xsd +108 -108
- data/lib/schema/vml-wordprocessingDrawing.xsd +96 -96
- data/lib/schema/xml.xsd +116 -116
- data/test/benchmark.rb +72 -72
- data/test/content_type/tc_content_type.rb +76 -76
- data/test/content_type/tc_default.rb +16 -16
- data/test/content_type/tc_override.rb +14 -14
- data/test/doc_props/tc_app.rb +43 -43
- data/test/doc_props/tc_core.rb +42 -42
- data/test/drawing/tc_area_chart.rb +39 -39
- data/test/drawing/tc_area_series.rb +71 -71
- data/test/drawing/tc_axes.rb +7 -7
- data/test/drawing/tc_axis.rb +112 -112
- data/test/drawing/tc_bar_3D_chart.rb +86 -86
- data/test/drawing/tc_bar_chart.rb +86 -86
- data/test/drawing/tc_bar_series.rb +46 -46
- data/test/drawing/tc_bubble_chart.rb +44 -44
- data/test/drawing/tc_bubble_series.rb +21 -21
- data/test/drawing/tc_cat_axis.rb +31 -31
- data/test/drawing/tc_cat_axis_data.rb +27 -27
- data/test/drawing/tc_chart.rb +123 -123
- data/test/drawing/tc_d_lbls.rb +57 -57
- data/test/drawing/tc_data_source.rb +23 -23
- data/test/drawing/tc_drawing.rb +80 -80
- data/test/drawing/tc_graphic_frame.rb +27 -27
- data/test/drawing/tc_hyperlink.rb +64 -64
- data/test/drawing/tc_line_3d_chart.rb +47 -47
- data/test/drawing/tc_line_chart.rb +39 -39
- data/test/drawing/tc_line_series.rb +71 -71
- data/test/drawing/tc_marker.rb +44 -44
- data/test/drawing/tc_named_axis_data.rb +27 -27
- data/test/drawing/tc_num_data.rb +31 -31
- data/test/drawing/tc_num_val.rb +29 -29
- data/test/drawing/tc_one_cell_anchor.rb +66 -66
- data/test/drawing/tc_pic.rb +103 -103
- data/test/drawing/tc_picture_locking.rb +72 -72
- data/test/drawing/tc_pie_3D_chart.rb +28 -28
- data/test/drawing/tc_pie_series.rb +33 -33
- data/test/drawing/tc_scaling.rb +36 -36
- data/test/drawing/tc_scatter_chart.rb +48 -48
- data/test/drawing/tc_scatter_series.rb +74 -56
- data/test/drawing/tc_ser_axis.rb +31 -31
- data/test/drawing/tc_series.rb +23 -23
- data/test/drawing/tc_series_title.rb +54 -54
- data/test/drawing/tc_str_data.rb +18 -18
- data/test/drawing/tc_str_val.rb +30 -30
- data/test/drawing/tc_title.rb +70 -70
- data/test/drawing/tc_two_cell_anchor.rb +36 -36
- data/test/drawing/tc_val_axis.rb +24 -24
- data/test/drawing/tc_view_3D.rb +54 -54
- data/test/drawing/tc_vml_drawing.rb +25 -25
- data/test/drawing/tc_vml_shape.rb +106 -106
- data/test/profile.rb +24 -24
- data/test/rels/tc_relationship.rb +52 -52
- data/test/rels/tc_relationships.rb +37 -37
- data/test/stylesheet/tc_border.rb +37 -37
- data/test/stylesheet/tc_border_pr.rb +32 -32
- data/test/stylesheet/tc_cell_alignment.rb +81 -81
- data/test/stylesheet/tc_cell_protection.rb +29 -29
- data/test/stylesheet/tc_cell_style.rb +57 -57
- data/test/stylesheet/tc_color.rb +43 -43
- data/test/stylesheet/tc_dxf.rb +81 -81
- data/test/stylesheet/tc_fill.rb +18 -18
- data/test/stylesheet/tc_font.rb +133 -133
- data/test/stylesheet/tc_gradient_fill.rb +72 -72
- data/test/stylesheet/tc_gradient_stop.rb +31 -31
- data/test/stylesheet/tc_num_fmt.rb +30 -30
- data/test/stylesheet/tc_pattern_fill.rb +43 -43
- data/test/stylesheet/tc_styles.rb +309 -261
- data/test/stylesheet/tc_table_style.rb +44 -44
- data/test/stylesheet/tc_table_style_element.rb +45 -45
- data/test/stylesheet/tc_table_styles.rb +29 -29
- data/test/stylesheet/tc_xf.rb +120 -120
- data/test/tc_axlsx.rb +109 -109
- data/test/tc_helper.rb +10 -10
- data/test/tc_package.rb +317 -314
- data/test/util/tc_mime_type_utils.rb +13 -13
- data/test/util/tc_serialized_attributes.rb +19 -19
- data/test/util/tc_simple_typed_list.rb +77 -77
- data/test/util/tc_validators.rb +210 -210
- data/test/workbook/tc_defined_name.rb +49 -49
- data/test/workbook/tc_shared_strings_table.rb +59 -59
- data/test/workbook/tc_workbook.rb +165 -160
- data/test/workbook/tc_workbook_view.rb +50 -50
- data/test/workbook/worksheet/auto_filter/tc_auto_filter.rb +38 -38
- data/test/workbook/worksheet/auto_filter/tc_filter_column.rb +76 -76
- data/test/workbook/worksheet/auto_filter/tc_filters.rb +50 -50
- data/test/workbook/worksheet/tc_break.rb +49 -49
- data/test/workbook/worksheet/tc_cell.rb +465 -453
- data/test/workbook/worksheet/tc_cfvo.rb +31 -31
- data/test/workbook/worksheet/tc_col.rb +93 -93
- data/test/workbook/worksheet/tc_color_scale.rb +58 -58
- data/test/workbook/worksheet/tc_comment.rb +72 -72
- data/test/workbook/worksheet/tc_comments.rb +57 -57
- data/test/workbook/worksheet/tc_conditional_formatting.rb +224 -224
- data/test/workbook/worksheet/tc_data_bar.rb +46 -46
- data/test/workbook/worksheet/tc_data_validation.rb +265 -265
- data/test/workbook/worksheet/tc_date_time_converter.rb +124 -124
- data/test/workbook/worksheet/tc_header_footer.rb +151 -151
- data/test/workbook/worksheet/tc_icon_set.rb +45 -45
- data/test/workbook/worksheet/tc_outline_pr.rb +19 -19
- data/test/workbook/worksheet/tc_page_margins.rb +97 -97
- data/test/workbook/worksheet/tc_page_set_up_pr.rb +15 -15
- data/test/workbook/worksheet/tc_page_setup.rb +143 -143
- data/test/workbook/worksheet/tc_pane.rb +54 -54
- data/test/workbook/worksheet/tc_pivot_table.rb +180 -143
- data/test/workbook/worksheet/tc_pivot_table_cache_definition.rb +62 -62
- data/test/workbook/worksheet/tc_print_options.rb +72 -72
- data/test/workbook/worksheet/tc_protected_range.rb +17 -17
- data/test/workbook/worksheet/tc_rich_text.rb +44 -44
- data/test/workbook/worksheet/tc_rich_text_run.rb +173 -173
- data/test/workbook/worksheet/tc_row.rb +160 -160
- data/test/workbook/worksheet/tc_selection.rb +55 -55
- data/test/workbook/worksheet/tc_sheet_calc_pr.rb +18 -18
- data/test/workbook/worksheet/tc_sheet_format_pr.rb +88 -88
- data/test/workbook/worksheet/tc_sheet_pr.rb +49 -49
- data/test/workbook/worksheet/tc_sheet_protection.rb +117 -117
- data/test/workbook/worksheet/tc_sheet_view.rb +214 -214
- data/test/workbook/worksheet/tc_table.rb +77 -77
- data/test/workbook/worksheet/tc_table_style_info.rb +53 -53
- data/test/workbook/worksheet/tc_worksheet.rb +632 -601
- data/test/workbook/worksheet/tc_worksheet_hyperlink.rb +55 -55
- metadata +101 -101
@@ -1,240 +1,240 @@
|
|
1
|
-
module Axlsx
|
2
|
-
# Page setup settings for printing a worksheet. All settings are optional.
|
3
|
-
#
|
4
|
-
# @note The recommended way to manage print options is via Worksheet#page_setup
|
5
|
-
# @see Worksheet#print_options
|
6
|
-
# @see Worksheet#initialize
|
7
|
-
class PageSetup
|
8
|
-
|
9
|
-
include Axlsx::OptionsParser
|
10
|
-
include Axlsx::SerializedAttributes
|
11
|
-
|
12
|
-
# Creates a new PageSetup object
|
13
|
-
# @option options [Integer] fit_to_height Number of vertical pages to fit on
|
14
|
-
# @option options [Integer] fit_to_width Number of horizontal pages to fit on
|
15
|
-
# @option options [Symbol] orientation Orientation of the page (:default, :landscape, :portrait)
|
16
|
-
# @option options [String] paper_height Height of paper (number followed by unit identifier: "297mm", "11in")
|
17
|
-
# @option options [String] paper_width Width of paper (number followed by unit identifier: "210mm", "8.5in")
|
18
|
-
# @option options [Integer] scale Print scaling (percent value, integer ranging from 10 to 400)
|
19
|
-
# @option options [Integer] paper_size - the size of paper to use
|
20
|
-
def initialize(options = {})
|
21
|
-
parse_options options
|
22
|
-
end
|
23
|
-
|
24
|
-
serializable_attributes :fit_to_height, :fit_to_width, :orientation, :paper_height, :paper_width, :scale, :paper_size
|
25
|
-
|
26
|
-
# TODO: Attributes defined by Open XML spec that are not implemented yet:
|
27
|
-
# * blackAndWhite
|
28
|
-
# * cellComments
|
29
|
-
# * copies
|
30
|
-
# * draft
|
31
|
-
# * errors
|
32
|
-
# * firstPageNumber
|
33
|
-
# * horizontalDpi
|
34
|
-
# * pageOrder
|
35
|
-
# * useFirstPageNumber
|
36
|
-
# * usePrinterDefaults
|
37
|
-
# * verticalDpi
|
38
|
-
|
39
|
-
# Number of vertical pages to fit on.
|
40
|
-
# @note PageSetup#fit_to is the recomended way to manage page fitting as only specifying one of fit_to_width/fit_to_height will result in the counterpart
|
41
|
-
# being set to 1.
|
42
|
-
# @return [Integer]
|
43
|
-
attr_reader :fit_to_height
|
44
|
-
|
45
|
-
# Number of horizontal pages to fit on.
|
46
|
-
# @note PageSetup#fit_to is the recomended way to manage page fitting as only specifying one of width/height will result in the counterpart
|
47
|
-
# being set to 1.
|
48
|
-
# @return [Integer]
|
49
|
-
attr_reader :fit_to_width
|
50
|
-
|
51
|
-
# Orientation of the page (:default, :landscape, :portrait)
|
52
|
-
# @return [Symbol]
|
53
|
-
attr_reader :orientation
|
54
|
-
|
55
|
-
# Height of paper (string containing a number followed by a unit identifier: "297mm", "11in")
|
56
|
-
# @return [String]
|
57
|
-
attr_reader :paper_height
|
58
|
-
|
59
|
-
# Width of paper (string containing a number followed by a unit identifier: "210mm", "8.5in")
|
60
|
-
# @return [String]
|
61
|
-
attr_reader :paper_width
|
62
|
-
|
63
|
-
# Print scaling (percent value, given as integer ranging from 10 to 400)
|
64
|
-
# @return [Integer]
|
65
|
-
attr_reader :scale
|
66
|
-
|
67
|
-
# The paper size to use in printing
|
68
|
-
#1 = Letter paper (8.5 in. by 11 in.)
|
69
|
-
#2 = Letter small paper (8.5 in. by 11 in.)
|
70
|
-
#3 = Tabloid paper (11 in. by 17 in.)
|
71
|
-
#4 = Ledger paper (17 in. by 11 in.)
|
72
|
-
#5 = Legal paper (8.5 in. by 14 in.)
|
73
|
-
#6 = Statement paper (5.5 in. by 8.5 in.)
|
74
|
-
#7 = Executive paper (7.25 in. by 10.5 in.)
|
75
|
-
#8 = A3 paper (297 mm by 420 mm)
|
76
|
-
#9 = A4 paper (210 mm by 297 mm)
|
77
|
-
#10 = A4 small paper (210 mm by 297 mm)
|
78
|
-
#11 = A5 paper (148 mm by 210 mm)
|
79
|
-
#12 = B4 paper (250 mm by 353 mm)
|
80
|
-
#13 = B5 paper (176 mm by 250 mm)
|
81
|
-
#14 = Folio paper (8.5 in. by 13 in.)
|
82
|
-
#15 = Quarto paper (215 mm by 275 mm)
|
83
|
-
#16 = Standard paper (10 in. by 14 in.)
|
84
|
-
#17 = Standard paper (11 in. by 17 in.)
|
85
|
-
#18 = Note paper (8.5 in. by 11 in.)
|
86
|
-
#19 = #9 envelope (3.875 in. by 8.875 in.)
|
87
|
-
#20 = #10 envelope (4.125 in. by 9.5 in.)
|
88
|
-
#21 = #11 envelope (4.5 in. by 10.375 in.)
|
89
|
-
#22 = #12 envelope (4.75 in. by 11 in.)
|
90
|
-
#23 = #14 envelope (5 in. by 11.5 in.) 24 = C paper (17 in. by 22 in.)
|
91
|
-
#25 = D paper (22 in. by 34 in.)
|
92
|
-
#26 = E paper (34 in. by 44 in.)
|
93
|
-
#27 = DL envelope (110 mm by 220 mm)
|
94
|
-
#28 = C5 envelope (162 mm by 229 mm)
|
95
|
-
#29 = C3 envelope (324 mm by 458 mm)
|
96
|
-
#30 = C4 envelope (229 mm by 324 mm)
|
97
|
-
#31 = C6 envelope (114 mm by 162 mm)
|
98
|
-
#32 = C65 envelope (114 mm by 229 mm)
|
99
|
-
#33 = B4 envelope (250 mm by 353 mm)
|
100
|
-
#34 = B5 envelope (176 mm by 250 mm)
|
101
|
-
#35 = B6 envelope (176 mm by 125 mm)
|
102
|
-
#36 = Italy envelope (110 mm by 230 mm)
|
103
|
-
#37 = Monarch envelope (3.875 in. by 7.5 in.). 38 = 6 3/4 envelope (3.625 in. by 6.5 in.)
|
104
|
-
#39 = US standard fanfold (14.875 in. by 11 in.)
|
105
|
-
#40 = German standard fanfold (8.5 in. by 12 in.)
|
106
|
-
#41 = German legal fanfold (8.5 in. by 13 in.)
|
107
|
-
#42 = ISO B4 (250 mm by 353 mm)
|
108
|
-
#43 = Japanese double postcard (200 mm by 148 mm)
|
109
|
-
#44 = Standard paper (9 in. by 11 in.)
|
110
|
-
#45 = Standard paper (10 in. by 11 in.)
|
111
|
-
#46 = Standard paper (15 in. by 11 in.)
|
112
|
-
#47 = Invite envelope (220 mm by 220 mm)
|
113
|
-
#50 = Letter extra paper (9.275 in. by 12 in.)
|
114
|
-
#51 = Legal extra paper (9.275 in. by 15 in.)
|
115
|
-
#52 = Tabloid extra paper (11.69 in. by 18 in.)
|
116
|
-
#53 = A4 extra paper (236 mm by 322 mm)
|
117
|
-
#54 = Letter transverse paper (8.275 in. by 11 in.)
|
118
|
-
#55 = A4 transverse paper (210 mm by 297 mm)
|
119
|
-
#56 = Letter extra transverse paper (9.275 in. by 12 in.)
|
120
|
-
#57 = SuperA/SuperA/A4 paper (227 mm by 356 mm)
|
121
|
-
#58 = SuperB/SuperB/A3 paper (305 mm by 487 mm)
|
122
|
-
#59 = Letter plus paper (8.5 in. by 12.69 in.)
|
123
|
-
#60 = A4 plus paper (210 mm by 330 mm)
|
124
|
-
#61 = A5 transverse paper (148 mm by 210 mm)
|
125
|
-
#62 = JIS B5 transverse paper (182 mm by 257 mm)
|
126
|
-
#63 = A3 extra paper (322 mm by 445 mm)
|
127
|
-
#64 = A5 extra paper (174 mm by 235 mm)
|
128
|
-
#65 = ISO B5 extra paper (201 mm by 276 mm)
|
129
|
-
#66 = A2 paper (420 mm by 594 mm)
|
130
|
-
#67 = A3 transverse paper (297 mm by 420 mm)
|
131
|
-
#68 = A3 extra transverse paper (322 mm by 445 mm)
|
132
|
-
#69 = Japanese Double Postcard (200 mm x 148 mm)
|
133
|
-
#70 = A6 (105 mm x 148 mm
|
134
|
-
#71 = Japanese Envelope Kaku #2
|
135
|
-
#72 = Japanese Envelope Kaku #3
|
136
|
-
#73 = Japanese Envelope Chou #3
|
137
|
-
#74 = Japanese Envelope Chou #4
|
138
|
-
#75 = Letter Rotated (11in x 8 1/2 11 in)
|
139
|
-
#76 = A3 Rotated (420 mm x 297 mm)
|
140
|
-
#77 = A4 Rotated (297 mm x 210 mm)
|
141
|
-
#78 = A5 Rotated (210 mm x 148 mm)
|
142
|
-
#79 = B4 (JIS) Rotated (364 mm x 257 mm)
|
143
|
-
#80 = B5 (JIS) Rotated (257 mm x 182 mm)
|
144
|
-
#81 = Japanese Postcard Rotated (148 mm x 100 mm)
|
145
|
-
#82 = Double Japanese Postcard Rotated (148 mm x 200 mm)
|
146
|
-
#83 = A6 Rotated (148 mm x 105 mm)
|
147
|
-
#84 = Japanese Envelope Kaku #2 Rotated
|
148
|
-
#85 = Japanese Envelope Kaku #3 Rotated
|
149
|
-
#86 = Japanese Envelope Chou #3 Rotated
|
150
|
-
#87 = Japanese Envelope Chou #4 Rotated
|
151
|
-
#88 = B6 (JIS) (128 mm x 182 mm)
|
152
|
-
#89 = B6 (JIS) Rotated (182 mm x 128 mm)
|
153
|
-
#90 = (12 in x 11 in)
|
154
|
-
#91 = Japanese Envelope You #4
|
155
|
-
#92 = Japanese Envelope You #4 Rotated
|
156
|
-
#93 = PRC 16K (146 mm x 215 mm)
|
157
|
-
#94 = PRC 32K (97 mm x 151 mm)
|
158
|
-
#95 = PRC 32K(Big) (97 mm x 151 mm)
|
159
|
-
#96 = PRC Envelope #1 (102 mm x 165 mm)
|
160
|
-
#97 = PRC Envelope #2 (102 mm x 176 mm)
|
161
|
-
#98 = PRC Envelope #3 (125 mm x 176 mm)
|
162
|
-
#99 = PRC Envelope #4 (110 mm x 208 mm)
|
163
|
-
#100 = PRC Envelope #5 (110 mm x 220 mm)
|
164
|
-
#101 = PRC Envelope #6 (120 mm x 230 mm)
|
165
|
-
#102 = PRC Envelope #7 (160 mm x 230 mm)
|
166
|
-
#103 = PRC Envelope #8 (120 mm x 309 mm)
|
167
|
-
#104 = PRC Envelope #9 (229 mm x 324 mm)
|
168
|
-
#105 = PRC Envelope #10 (324 mm x 458 mm)
|
169
|
-
#106 = PRC 16K Rotated
|
170
|
-
#107 = PRC 32K Rotated
|
171
|
-
#108 = PRC 32K(Big) Rotated
|
172
|
-
#109 = PRC Envelope #1 Rotated (165 mm x 102 mm)
|
173
|
-
#110 = PRC Envelope #2 Rotated (176 mm x 102 mm)
|
174
|
-
#111 = PRC Envelope #3 Rotated (176 mm x 125 mm)
|
175
|
-
#112 = PRC Envelope #4 Rotated (208 mm x 110 mm)
|
176
|
-
#113 = PRC Envelope #5 Rotated (220 mm x 110 mm)
|
177
|
-
#114 = PRC Envelope #6 Rotated (230 mm x 120 mm)
|
178
|
-
#115 = PRC Envelope #7 Rotated (230 mm x 160 mm)
|
179
|
-
#116 = PRC Envelope #8 Rotated (309 mm x 120 mm)
|
180
|
-
#117 = PRC Envelope #9 Rotated (324 mm x 229 mm)
|
181
|
-
#118 = PRC Envelope #10 Rotated (458 mm x 324 mm)
|
182
|
-
# @return [Integer]
|
183
|
-
attr_reader :paper_size
|
184
|
-
|
185
|
-
|
186
|
-
# Sets the paper size for printing.
|
187
|
-
# @see PageSetup#paper_size
|
188
|
-
# @return integer
|
189
|
-
def paper_size=(size)
|
190
|
-
RestrictionValidator.validate 'paper_size', (1..118), size
|
191
|
-
@paper_size = size
|
192
|
-
end
|
193
|
-
|
194
|
-
# Set some or all page settings at once.
|
195
|
-
# @param [Hash] options The page settings to set (possible keys are :fit_to_height, :fit_to_width, :orientation, :paper_height, :paper_width, and :scale).
|
196
|
-
def set(options)
|
197
|
-
parse_options options
|
198
|
-
end
|
199
|
-
|
200
|
-
# @see fit_to_height
|
201
|
-
def fit_to_height=(v); Axlsx::validate_unsigned_int(v); @fit_to_height = v; end
|
202
|
-
# @see fit_to_width
|
203
|
-
def fit_to_width=(v); Axlsx::validate_unsigned_int(v); @fit_to_width = v; end
|
204
|
-
# @see orientation
|
205
|
-
def orientation=(v); Axlsx::validate_page_orientation(v); @orientation = v; end
|
206
|
-
# @see paper_height
|
207
|
-
def paper_height=(v); Axlsx::validate_number_with_unit(v); @paper_height = v; end
|
208
|
-
# @see paper_width
|
209
|
-
def paper_width=(v); Axlsx::validate_number_with_unit(v); @paper_width = v; end
|
210
|
-
# @see scale
|
211
|
-
def scale=(v); Axlsx::validate_scale_10_400(v); @scale = v; end
|
212
|
-
|
213
|
-
# convenience method to achieve sanity when setting fit_to_width and fit_to_height
|
214
|
-
# as they both default to 1 if only their counterpart is specified.
|
215
|
-
# @note This method will overwrite any value you explicitly set via the fit_to_height or fit_to_width methods.
|
216
|
-
# @option options [Integer] width The number of pages to fit this worksheet on horizontally. Default 999
|
217
|
-
# @option options [Integer] height The number of pages to fit this worksheet on vertically. Default 999
|
218
|
-
def fit_to(options={})
|
219
|
-
self.fit_to_width = options[:width] || 999
|
220
|
-
self.fit_to_height = options[:height] || 999
|
221
|
-
[@fit_to_width, @fit_to_height]
|
222
|
-
end
|
223
|
-
|
224
|
-
|
225
|
-
# helper method for worksheet to determine if the page setup is configured for fit to page printing
|
226
|
-
# We treat any page set up that has a value set for fit_to_width or fit_to_height value as fit_to_page.
|
227
|
-
# @return [Boolean]
|
228
|
-
def fit_to_page?
|
229
|
-
# is there some better what to express this?
|
230
|
-
(fit_to_width != nil || fit_to_height != nil)
|
231
|
-
end
|
232
|
-
|
233
|
-
# Serializes the page settings element.
|
234
|
-
# @param [String] str
|
235
|
-
# @return [String]
|
236
|
-
def to_xml_string(str = '')
|
237
|
-
serialized_tag('pageSetup', str)
|
238
|
-
end
|
239
|
-
end
|
240
|
-
end
|
1
|
+
module Axlsx
|
2
|
+
# Page setup settings for printing a worksheet. All settings are optional.
|
3
|
+
#
|
4
|
+
# @note The recommended way to manage print options is via Worksheet#page_setup
|
5
|
+
# @see Worksheet#print_options
|
6
|
+
# @see Worksheet#initialize
|
7
|
+
class PageSetup
|
8
|
+
|
9
|
+
include Axlsx::OptionsParser
|
10
|
+
include Axlsx::SerializedAttributes
|
11
|
+
|
12
|
+
# Creates a new PageSetup object
|
13
|
+
# @option options [Integer] fit_to_height Number of vertical pages to fit on
|
14
|
+
# @option options [Integer] fit_to_width Number of horizontal pages to fit on
|
15
|
+
# @option options [Symbol] orientation Orientation of the page (:default, :landscape, :portrait)
|
16
|
+
# @option options [String] paper_height Height of paper (number followed by unit identifier: "297mm", "11in")
|
17
|
+
# @option options [String] paper_width Width of paper (number followed by unit identifier: "210mm", "8.5in")
|
18
|
+
# @option options [Integer] scale Print scaling (percent value, integer ranging from 10 to 400)
|
19
|
+
# @option options [Integer] paper_size - the size of paper to use
|
20
|
+
def initialize(options = {})
|
21
|
+
parse_options options
|
22
|
+
end
|
23
|
+
|
24
|
+
serializable_attributes :fit_to_height, :fit_to_width, :orientation, :paper_height, :paper_width, :scale, :paper_size
|
25
|
+
|
26
|
+
# TODO: Attributes defined by Open XML spec that are not implemented yet:
|
27
|
+
# * blackAndWhite
|
28
|
+
# * cellComments
|
29
|
+
# * copies
|
30
|
+
# * draft
|
31
|
+
# * errors
|
32
|
+
# * firstPageNumber
|
33
|
+
# * horizontalDpi
|
34
|
+
# * pageOrder
|
35
|
+
# * useFirstPageNumber
|
36
|
+
# * usePrinterDefaults
|
37
|
+
# * verticalDpi
|
38
|
+
|
39
|
+
# Number of vertical pages to fit on.
|
40
|
+
# @note PageSetup#fit_to is the recomended way to manage page fitting as only specifying one of fit_to_width/fit_to_height will result in the counterpart
|
41
|
+
# being set to 1.
|
42
|
+
# @return [Integer]
|
43
|
+
attr_reader :fit_to_height
|
44
|
+
|
45
|
+
# Number of horizontal pages to fit on.
|
46
|
+
# @note PageSetup#fit_to is the recomended way to manage page fitting as only specifying one of width/height will result in the counterpart
|
47
|
+
# being set to 1.
|
48
|
+
# @return [Integer]
|
49
|
+
attr_reader :fit_to_width
|
50
|
+
|
51
|
+
# Orientation of the page (:default, :landscape, :portrait)
|
52
|
+
# @return [Symbol]
|
53
|
+
attr_reader :orientation
|
54
|
+
|
55
|
+
# Height of paper (string containing a number followed by a unit identifier: "297mm", "11in")
|
56
|
+
# @return [String]
|
57
|
+
attr_reader :paper_height
|
58
|
+
|
59
|
+
# Width of paper (string containing a number followed by a unit identifier: "210mm", "8.5in")
|
60
|
+
# @return [String]
|
61
|
+
attr_reader :paper_width
|
62
|
+
|
63
|
+
# Print scaling (percent value, given as integer ranging from 10 to 400)
|
64
|
+
# @return [Integer]
|
65
|
+
attr_reader :scale
|
66
|
+
|
67
|
+
# The paper size to use in printing
|
68
|
+
#1 = Letter paper (8.5 in. by 11 in.)
|
69
|
+
#2 = Letter small paper (8.5 in. by 11 in.)
|
70
|
+
#3 = Tabloid paper (11 in. by 17 in.)
|
71
|
+
#4 = Ledger paper (17 in. by 11 in.)
|
72
|
+
#5 = Legal paper (8.5 in. by 14 in.)
|
73
|
+
#6 = Statement paper (5.5 in. by 8.5 in.)
|
74
|
+
#7 = Executive paper (7.25 in. by 10.5 in.)
|
75
|
+
#8 = A3 paper (297 mm by 420 mm)
|
76
|
+
#9 = A4 paper (210 mm by 297 mm)
|
77
|
+
#10 = A4 small paper (210 mm by 297 mm)
|
78
|
+
#11 = A5 paper (148 mm by 210 mm)
|
79
|
+
#12 = B4 paper (250 mm by 353 mm)
|
80
|
+
#13 = B5 paper (176 mm by 250 mm)
|
81
|
+
#14 = Folio paper (8.5 in. by 13 in.)
|
82
|
+
#15 = Quarto paper (215 mm by 275 mm)
|
83
|
+
#16 = Standard paper (10 in. by 14 in.)
|
84
|
+
#17 = Standard paper (11 in. by 17 in.)
|
85
|
+
#18 = Note paper (8.5 in. by 11 in.)
|
86
|
+
#19 = #9 envelope (3.875 in. by 8.875 in.)
|
87
|
+
#20 = #10 envelope (4.125 in. by 9.5 in.)
|
88
|
+
#21 = #11 envelope (4.5 in. by 10.375 in.)
|
89
|
+
#22 = #12 envelope (4.75 in. by 11 in.)
|
90
|
+
#23 = #14 envelope (5 in. by 11.5 in.) 24 = C paper (17 in. by 22 in.)
|
91
|
+
#25 = D paper (22 in. by 34 in.)
|
92
|
+
#26 = E paper (34 in. by 44 in.)
|
93
|
+
#27 = DL envelope (110 mm by 220 mm)
|
94
|
+
#28 = C5 envelope (162 mm by 229 mm)
|
95
|
+
#29 = C3 envelope (324 mm by 458 mm)
|
96
|
+
#30 = C4 envelope (229 mm by 324 mm)
|
97
|
+
#31 = C6 envelope (114 mm by 162 mm)
|
98
|
+
#32 = C65 envelope (114 mm by 229 mm)
|
99
|
+
#33 = B4 envelope (250 mm by 353 mm)
|
100
|
+
#34 = B5 envelope (176 mm by 250 mm)
|
101
|
+
#35 = B6 envelope (176 mm by 125 mm)
|
102
|
+
#36 = Italy envelope (110 mm by 230 mm)
|
103
|
+
#37 = Monarch envelope (3.875 in. by 7.5 in.). 38 = 6 3/4 envelope (3.625 in. by 6.5 in.)
|
104
|
+
#39 = US standard fanfold (14.875 in. by 11 in.)
|
105
|
+
#40 = German standard fanfold (8.5 in. by 12 in.)
|
106
|
+
#41 = German legal fanfold (8.5 in. by 13 in.)
|
107
|
+
#42 = ISO B4 (250 mm by 353 mm)
|
108
|
+
#43 = Japanese double postcard (200 mm by 148 mm)
|
109
|
+
#44 = Standard paper (9 in. by 11 in.)
|
110
|
+
#45 = Standard paper (10 in. by 11 in.)
|
111
|
+
#46 = Standard paper (15 in. by 11 in.)
|
112
|
+
#47 = Invite envelope (220 mm by 220 mm)
|
113
|
+
#50 = Letter extra paper (9.275 in. by 12 in.)
|
114
|
+
#51 = Legal extra paper (9.275 in. by 15 in.)
|
115
|
+
#52 = Tabloid extra paper (11.69 in. by 18 in.)
|
116
|
+
#53 = A4 extra paper (236 mm by 322 mm)
|
117
|
+
#54 = Letter transverse paper (8.275 in. by 11 in.)
|
118
|
+
#55 = A4 transverse paper (210 mm by 297 mm)
|
119
|
+
#56 = Letter extra transverse paper (9.275 in. by 12 in.)
|
120
|
+
#57 = SuperA/SuperA/A4 paper (227 mm by 356 mm)
|
121
|
+
#58 = SuperB/SuperB/A3 paper (305 mm by 487 mm)
|
122
|
+
#59 = Letter plus paper (8.5 in. by 12.69 in.)
|
123
|
+
#60 = A4 plus paper (210 mm by 330 mm)
|
124
|
+
#61 = A5 transverse paper (148 mm by 210 mm)
|
125
|
+
#62 = JIS B5 transverse paper (182 mm by 257 mm)
|
126
|
+
#63 = A3 extra paper (322 mm by 445 mm)
|
127
|
+
#64 = A5 extra paper (174 mm by 235 mm)
|
128
|
+
#65 = ISO B5 extra paper (201 mm by 276 mm)
|
129
|
+
#66 = A2 paper (420 mm by 594 mm)
|
130
|
+
#67 = A3 transverse paper (297 mm by 420 mm)
|
131
|
+
#68 = A3 extra transverse paper (322 mm by 445 mm)
|
132
|
+
#69 = Japanese Double Postcard (200 mm x 148 mm)
|
133
|
+
#70 = A6 (105 mm x 148 mm
|
134
|
+
#71 = Japanese Envelope Kaku #2
|
135
|
+
#72 = Japanese Envelope Kaku #3
|
136
|
+
#73 = Japanese Envelope Chou #3
|
137
|
+
#74 = Japanese Envelope Chou #4
|
138
|
+
#75 = Letter Rotated (11in x 8 1/2 11 in)
|
139
|
+
#76 = A3 Rotated (420 mm x 297 mm)
|
140
|
+
#77 = A4 Rotated (297 mm x 210 mm)
|
141
|
+
#78 = A5 Rotated (210 mm x 148 mm)
|
142
|
+
#79 = B4 (JIS) Rotated (364 mm x 257 mm)
|
143
|
+
#80 = B5 (JIS) Rotated (257 mm x 182 mm)
|
144
|
+
#81 = Japanese Postcard Rotated (148 mm x 100 mm)
|
145
|
+
#82 = Double Japanese Postcard Rotated (148 mm x 200 mm)
|
146
|
+
#83 = A6 Rotated (148 mm x 105 mm)
|
147
|
+
#84 = Japanese Envelope Kaku #2 Rotated
|
148
|
+
#85 = Japanese Envelope Kaku #3 Rotated
|
149
|
+
#86 = Japanese Envelope Chou #3 Rotated
|
150
|
+
#87 = Japanese Envelope Chou #4 Rotated
|
151
|
+
#88 = B6 (JIS) (128 mm x 182 mm)
|
152
|
+
#89 = B6 (JIS) Rotated (182 mm x 128 mm)
|
153
|
+
#90 = (12 in x 11 in)
|
154
|
+
#91 = Japanese Envelope You #4
|
155
|
+
#92 = Japanese Envelope You #4 Rotated
|
156
|
+
#93 = PRC 16K (146 mm x 215 mm)
|
157
|
+
#94 = PRC 32K (97 mm x 151 mm)
|
158
|
+
#95 = PRC 32K(Big) (97 mm x 151 mm)
|
159
|
+
#96 = PRC Envelope #1 (102 mm x 165 mm)
|
160
|
+
#97 = PRC Envelope #2 (102 mm x 176 mm)
|
161
|
+
#98 = PRC Envelope #3 (125 mm x 176 mm)
|
162
|
+
#99 = PRC Envelope #4 (110 mm x 208 mm)
|
163
|
+
#100 = PRC Envelope #5 (110 mm x 220 mm)
|
164
|
+
#101 = PRC Envelope #6 (120 mm x 230 mm)
|
165
|
+
#102 = PRC Envelope #7 (160 mm x 230 mm)
|
166
|
+
#103 = PRC Envelope #8 (120 mm x 309 mm)
|
167
|
+
#104 = PRC Envelope #9 (229 mm x 324 mm)
|
168
|
+
#105 = PRC Envelope #10 (324 mm x 458 mm)
|
169
|
+
#106 = PRC 16K Rotated
|
170
|
+
#107 = PRC 32K Rotated
|
171
|
+
#108 = PRC 32K(Big) Rotated
|
172
|
+
#109 = PRC Envelope #1 Rotated (165 mm x 102 mm)
|
173
|
+
#110 = PRC Envelope #2 Rotated (176 mm x 102 mm)
|
174
|
+
#111 = PRC Envelope #3 Rotated (176 mm x 125 mm)
|
175
|
+
#112 = PRC Envelope #4 Rotated (208 mm x 110 mm)
|
176
|
+
#113 = PRC Envelope #5 Rotated (220 mm x 110 mm)
|
177
|
+
#114 = PRC Envelope #6 Rotated (230 mm x 120 mm)
|
178
|
+
#115 = PRC Envelope #7 Rotated (230 mm x 160 mm)
|
179
|
+
#116 = PRC Envelope #8 Rotated (309 mm x 120 mm)
|
180
|
+
#117 = PRC Envelope #9 Rotated (324 mm x 229 mm)
|
181
|
+
#118 = PRC Envelope #10 Rotated (458 mm x 324 mm)
|
182
|
+
# @return [Integer]
|
183
|
+
attr_reader :paper_size
|
184
|
+
|
185
|
+
|
186
|
+
# Sets the paper size for printing.
|
187
|
+
# @see PageSetup#paper_size
|
188
|
+
# @return integer
|
189
|
+
def paper_size=(size)
|
190
|
+
RestrictionValidator.validate 'paper_size', (1..118), size
|
191
|
+
@paper_size = size
|
192
|
+
end
|
193
|
+
|
194
|
+
# Set some or all page settings at once.
|
195
|
+
# @param [Hash] options The page settings to set (possible keys are :fit_to_height, :fit_to_width, :orientation, :paper_height, :paper_width, and :scale).
|
196
|
+
def set(options)
|
197
|
+
parse_options options
|
198
|
+
end
|
199
|
+
|
200
|
+
# @see fit_to_height
|
201
|
+
def fit_to_height=(v); Axlsx::validate_unsigned_int(v); @fit_to_height = v; end
|
202
|
+
# @see fit_to_width
|
203
|
+
def fit_to_width=(v); Axlsx::validate_unsigned_int(v); @fit_to_width = v; end
|
204
|
+
# @see orientation
|
205
|
+
def orientation=(v); Axlsx::validate_page_orientation(v); @orientation = v; end
|
206
|
+
# @see paper_height
|
207
|
+
def paper_height=(v); Axlsx::validate_number_with_unit(v); @paper_height = v; end
|
208
|
+
# @see paper_width
|
209
|
+
def paper_width=(v); Axlsx::validate_number_with_unit(v); @paper_width = v; end
|
210
|
+
# @see scale
|
211
|
+
def scale=(v); Axlsx::validate_scale_10_400(v); @scale = v; end
|
212
|
+
|
213
|
+
# convenience method to achieve sanity when setting fit_to_width and fit_to_height
|
214
|
+
# as they both default to 1 if only their counterpart is specified.
|
215
|
+
# @note This method will overwrite any value you explicitly set via the fit_to_height or fit_to_width methods.
|
216
|
+
# @option options [Integer] width The number of pages to fit this worksheet on horizontally. Default 999
|
217
|
+
# @option options [Integer] height The number of pages to fit this worksheet on vertically. Default 999
|
218
|
+
def fit_to(options={})
|
219
|
+
self.fit_to_width = options[:width] || 999
|
220
|
+
self.fit_to_height = options[:height] || 999
|
221
|
+
[@fit_to_width, @fit_to_height]
|
222
|
+
end
|
223
|
+
|
224
|
+
|
225
|
+
# helper method for worksheet to determine if the page setup is configured for fit to page printing
|
226
|
+
# We treat any page set up that has a value set for fit_to_width or fit_to_height value as fit_to_page.
|
227
|
+
# @return [Boolean]
|
228
|
+
def fit_to_page?
|
229
|
+
# is there some better what to express this?
|
230
|
+
(fit_to_width != nil || fit_to_height != nil)
|
231
|
+
end
|
232
|
+
|
233
|
+
# Serializes the page settings element.
|
234
|
+
# @param [String] str
|
235
|
+
# @return [String]
|
236
|
+
def to_xml_string(str = '')
|
237
|
+
serialized_tag('pageSetup', str)
|
238
|
+
end
|
239
|
+
end
|
240
|
+
end
|