UmyaSpreadsheet.PrintSettings (umya_spreadsheet_ex v0.7.0)

View Source

Functions for configuring print settings in worksheets.

Summary

Functions

Gets the fit to page settings for a specific sheet.

Gets the footer text for a specific sheet.

Gets the header text for a specific sheet.

Gets the header and footer margins for a specific sheet.

Gets the page margins for a specific sheet.

Gets the page orientation for a specific sheet.

Gets the page scale for a specific sheet.

Gets the paper size for a specific sheet.

Gets the print area for a specific sheet.

Gets the print centered settings for a specific sheet.

Gets the print titles for a specific sheet.

Sets the fit-to-page options for a specific sheet.

Sets the footer text for a specific sheet.

Sets the header text for a specific sheet.

Sets the header and footer margins for a specific sheet.

Sets the page margins for a specific sheet.

Sets the page orientation for a specific sheet.

Sets the page scale percentage for a specific sheet.

Sets the paper size for a specific sheet.

Sets the print area for a specific sheet.

Sets whether to center the print horizontally and/or vertically.

Sets the rows and columns to repeat on each printed page (print titles).

Functions

get_fit_to_page(spreadsheet, sheet_name)

Gets the fit to page settings for a specific sheet.

Parameters

  • spreadsheet - The spreadsheet struct
  • sheet_name - The name of the sheet

Returns

Returns {:ok, {fit_width, fit_height}} where fit_width and fit_height are the number of pages to fit to, or {:error, reason} on failure.

Examples

{:ok, spreadsheet} = UmyaSpreadsheet.read_file("input.xlsx")
{:ok, {width, height}} = UmyaSpreadsheet.get_fit_to_page(spreadsheet, "Sheet1")

get_footer(spreadsheet, sheet_name)

Gets the footer text for a specific sheet.

Parameters

  • spreadsheet - The spreadsheet struct
  • sheet_name - The name of the sheet

Returns

Returns {:ok, footer_text} where footer_text is the footer string, or {:error, reason} on failure.

Examples

{:ok, spreadsheet} = UmyaSpreadsheet.read_file("input.xlsx")
{:ok, footer} = UmyaSpreadsheet.get_footer(spreadsheet, "Sheet1")

get_header(spreadsheet, sheet_name)

Gets the header text for a specific sheet.

Parameters

  • spreadsheet - The spreadsheet struct
  • sheet_name - The name of the sheet

Returns

Returns {:ok, header_text} where header_text is the header string, or {:error, reason} on failure.

Examples

{:ok, spreadsheet} = UmyaSpreadsheet.read_file("input.xlsx")
{:ok, header} = UmyaSpreadsheet.get_header(spreadsheet, "Sheet1")

get_page_margins(spreadsheet, sheet_name)

Gets the page margins for a specific sheet.

Parameters

  • spreadsheet - The spreadsheet struct
  • sheet_name - The name of the sheet

Returns

Returns {:ok, {top, right, bottom, left}} where each value is the margin in inches, or {:error, reason} on failure.

Examples

{:ok, spreadsheet} = UmyaSpreadsheet.read_file("input.xlsx")
{:ok, {top, right, bottom, left}} = UmyaSpreadsheet.get_page_margins(spreadsheet, "Sheet1")

get_page_orientation(spreadsheet, sheet_name)

Gets the page orientation for a specific sheet.

Parameters

  • spreadsheet - The spreadsheet struct
  • sheet_name - The name of the sheet

Returns

Returns {:ok, orientation} where orientation is "portrait" or "landscape", or {:error, reason} on failure.

Examples

{:ok, spreadsheet} = UmyaSpreadsheet.read_file("input.xlsx")
{:ok, orientation} = UmyaSpreadsheet.get_page_orientation(spreadsheet, "Sheet1")

get_page_scale(spreadsheet, sheet_name)

Gets the page scale for a specific sheet.

Parameters

  • spreadsheet - The spreadsheet struct
  • sheet_name - The name of the sheet

Returns

Returns {:ok, scale} where scale is the scaling percentage, or {:error, reason} on failure.

Examples

{:ok, spreadsheet} = UmyaSpreadsheet.read_file("input.xlsx")
{:ok, scale} = UmyaSpreadsheet.get_page_scale(spreadsheet, "Sheet1")

get_paper_size(spreadsheet, sheet_name)

Gets the paper size for a specific sheet.

Parameters

  • spreadsheet - The spreadsheet struct
  • sheet_name - The name of the sheet

Returns

Returns {:ok, paper_size} where paper_size is the paper size code, or {:error, reason} on failure.

Examples

{:ok, spreadsheet} = UmyaSpreadsheet.read_file("input.xlsx")
{:ok, paper_size} = UmyaSpreadsheet.get_paper_size(spreadsheet, "Sheet1")

get_print_area(spreadsheet, sheet_name)

Gets the print area for a specific sheet.

Parameters

  • spreadsheet - The spreadsheet struct
  • sheet_name - The name of the sheet

Returns

Returns {:ok, print_area} where print_area is the range string, or {:error, reason} on failure.

Examples

{:ok, spreadsheet} = UmyaSpreadsheet.read_file("input.xlsx")
{:ok, print_area} = UmyaSpreadsheet.get_print_area(spreadsheet, "Sheet1")

get_print_centered(spreadsheet, sheet_name)

Gets the print centered settings for a specific sheet.

Parameters

  • spreadsheet - The spreadsheet struct
  • sheet_name - The name of the sheet

Returns

Returns {:ok, {horizontal, vertical}} where each value is a boolean indicating whether the sheet is centered horizontally/vertically, or {:error, reason} on failure.

Examples

{:ok, spreadsheet} = UmyaSpreadsheet.read_file("input.xlsx")
{:ok, {horizontal, vertical}} = UmyaSpreadsheet.get_print_centered(spreadsheet, "Sheet1")

get_print_titles(spreadsheet, sheet_name)

Gets the print titles for a specific sheet.

Parameters

  • spreadsheet - The spreadsheet struct
  • sheet_name - The name of the sheet

Returns

Returns {:ok, {row_titles, column_titles}} where each value is a range string, or {:error, reason} on failure.

Examples

{:ok, spreadsheet} = UmyaSpreadsheet.read_file("input.xlsx")
{:ok, {rows, cols}} = UmyaSpreadsheet.get_print_titles(spreadsheet, "Sheet1")

set_fit_to_page(spreadsheet, sheet_name, width, height)

Sets the fit-to-page options for a specific sheet.

Parameters

  • spreadsheet - The spreadsheet struct
  • sheet_name - The name of the sheet
  • width - The number of pages wide to fit the content
  • height - The number of pages tall to fit the content

Examples

{:ok, spreadsheet} = UmyaSpreadsheet.read_file("input.xlsx")
:ok = UmyaSpreadsheet.set_fit_to_page(spreadsheet, "Sheet1", 1, 2)

set_footer(spreadsheet, sheet_name, footer)

Sets the footer text for a specific sheet.

Parameters

  • spreadsheet - The spreadsheet struct
  • sheet_name - The name of the sheet
  • footer - The footer text, which can include special formatting codes

Examples

{:ok, spreadsheet} = UmyaSpreadsheet.read_file("input.xlsx")
:ok = UmyaSpreadsheet.set_footer(spreadsheet, "Sheet1", "&RPage &P of &N")

set_header(spreadsheet, sheet_name, header)

Sets the header text for a specific sheet.

Parameters

  • spreadsheet - The spreadsheet struct
  • sheet_name - The name of the sheet
  • header - The header text, which can include special formatting codes

Examples

{:ok, spreadsheet} = UmyaSpreadsheet.read_file("input.xlsx")
:ok = UmyaSpreadsheet.set_header(spreadsheet, "Sheet1", "&C&\"Arial,Bold\"Confidential")

set_page_margins(spreadsheet, sheet_name, top, right, bottom, left)

Sets the page margins for a specific sheet.

Parameters

  • spreadsheet - The spreadsheet struct
  • sheet_name - The name of the sheet
  • top - The top margin in inches
  • right - The right margin in inches
  • bottom - The bottom margin in inches
  • left - The left margin in inches

Examples

{:ok, spreadsheet} = UmyaSpreadsheet.read_file("input.xlsx")
:ok = UmyaSpreadsheet.set_page_margins(spreadsheet, "Sheet1", 1.0, 0.75, 1.0, 0.75)

set_page_orientation(spreadsheet, sheet_name, orientation)

Sets the page orientation for a specific sheet.

Parameters

  • spreadsheet - The spreadsheet struct
  • sheet_name - The name of the sheet
  • orientation - The orientation type: "portrait" or "landscape"

Examples

{:ok, spreadsheet} = UmyaSpreadsheet.read_file("input.xlsx")
:ok = UmyaSpreadsheet.set_page_orientation(spreadsheet, "Sheet1", "landscape")

set_page_scale(spreadsheet, sheet_name, scale)

Sets the page scale percentage for a specific sheet.

Parameters

  • spreadsheet - The spreadsheet struct
  • sheet_name - The name of the sheet
  • scale - The scale percentage (e.g., 100 for 100%, 80 for 80%)

Examples

{:ok, spreadsheet} = UmyaSpreadsheet.read_file("input.xlsx")
:ok = UmyaSpreadsheet.set_page_scale(spreadsheet, "Sheet1", 80)

set_paper_size(spreadsheet, sheet_name, paper_size)

Sets the paper size for a specific sheet.

Parameters

  • spreadsheet - The spreadsheet struct
  • sheet_name - The name of the sheet
  • paper_size - The paper size code (e.g., 9 for A4)

Paper Size Codes

1 = Letter (8.5 x 11 in) 5 = Legal (8.5 x 14 in) 9 = A4 (210 x 297 mm) 8 = A3 (297 x 420 mm) 7 = A5 (148 x 210 mm)

Examples

{:ok, spreadsheet} = UmyaSpreadsheet.read_file("input.xlsx")
:ok = UmyaSpreadsheet.set_paper_size(spreadsheet, "Sheet1", 9)

set_print_area(spreadsheet, sheet_name, print_area)

Sets the print area for a specific sheet.

Parameters

  • spreadsheet - The spreadsheet struct
  • sheet_name - The name of the sheet
  • print_area - The range to be printed (e.g., "A1:H20")

Examples

{:ok, spreadsheet} = UmyaSpreadsheet.read_file("input.xlsx")
:ok = UmyaSpreadsheet.set_print_area(spreadsheet, "Sheet1", "A1:H20")

set_print_centered(spreadsheet, sheet_name, horizontal, vertical)

Sets whether to center the print horizontally and/or vertically.

Parameters

  • spreadsheet - The spreadsheet struct
  • sheet_name - The name of the sheet
  • horizontal - Whether to center horizontally
  • vertical - Whether to center vertically

Examples

{:ok, spreadsheet} = UmyaSpreadsheet.read_file("input.xlsx")
:ok = UmyaSpreadsheet.set_print_centered(spreadsheet, "Sheet1", true, false)

set_print_titles(spreadsheet, sheet_name, rows, columns)

Sets the rows and columns to repeat on each printed page (print titles).

Parameters

  • spreadsheet - The spreadsheet struct
  • sheet_name - The name of the sheet
  • rows - The rows to repeat (e.g., "1:2")
  • columns - The columns to repeat (e.g., "A:B")

Examples

{:ok, spreadsheet} = UmyaSpreadsheet.read_file("input.xlsx")
:ok = UmyaSpreadsheet.set_print_titles(spreadsheet, "Sheet1", "1:2", "A:B")