Skip to content

Latest commit

 

History

History
766 lines (507 loc) · 23.9 KB

NEWS.md

File metadata and controls

766 lines (507 loc) · 23.9 KB

officer 0.6.8

Issues

  • debug selector for ph_remove() (see #625) that was not working for rvg outputs.

Internals

  • remove old visual tests

officer 0.6.7

Issues

  • store paddings as numeric values and not integer values.
  • remove_fields in docx_summary() now also removes "w:fldData" nodes.
  • complete the manual of body_add_docx() with a note about the file basename that can not contain ' ' and trigger an error if it contains a ' '.
  • plot_layout_properties() gains a 'title' parameter, which will add the layout name as the plot title. Defaults to FALSE, to not alter the old behavior. Also, the slide width and height are now correctly displayed in the plot. Before, a box was drawn around the plot area. However, the plot area var with device size, not slide size.
  • class dir_collection: Files are now added to a container in the order of their trailing numeric index (#596). For example, slideLayout2.xml will now preceed slideLayout10.xml. Before, alphabetical sorting was used, where slideLayout10.xml comes before slideLayout2.xml.
  • layout_properties() now returns all placeholders in case of multiple master (#597). Also, the internal xfrmize() now sorts the resulting data by placeholder position. This yields an intuitive order, with placeholders sorted from top to bottom and left to right.
  • ph_location_type() now throws an error if the id for a type is out of range (#602) and a more informative error message if the type is not present in layout (#601).
  • plot_layout_properties() assignment order fixed for labels= FALSE (#604)
  • layout_properties() gains a type_idx column to index phs of the same type on a layout. Indexing is performed based on ph position, following a top-to-bottom, left-to-right order (#606).
  • plot_layout_properties() plots more information by default now: layout name, ph label, ph id, ph type + index by default (#606).
  • ph_location_type(): new type_idx arg replaces the deprecated id arg (#606).
  • Add ph_location_id() as a new member to the ph_location_* family. It references a placeholder via its unique id (#606).
  • plot_layout_properties(): Now accepts the layout index (see layout_summary()) as an alternative to the layout name. Gains an argument legend to add a legend to the plot. Also prints the current slide's layout by default now, if not layout name is provided explicitly (#595).

Features

  • layout_rename_ph_labels() to rename ph labels (#610).
  • add layout_dedupe_ph_labels() to handle duplicate placeholder labels (#589). By default, it will only detect duplicate labels, but apply no changes. With action = "rename", it auto-renames duplicate labels and action = "delete" deletes duplicates, only keeping their first occurrence.
  • new convenience functions body_replace_gg_at_bkm() and body_replace_plot_at_bkm() to replace text content enclosed in a bookmark with a ggplot or a base plot.
  • add unit (in, cm, mm) argument in function page_size().

officer 0.6.6

Issues

  • Fix. docx_summary preserves non-breaking hyphens. Non-breaking hyphens are replaced with a hyphen-minus (Unicode character 002D). Closes #573.
  • docx_summary() gains parameter 'detailed' which allows to get a detailed summary including formatting properties of runs in a paragraph. Formatting properties are stored in a list column run, where each element is a dataframe with rows corresponding to a single run and columns containing the information on formatting properties.
  • Fix. Add alt text to ggplot's added to a pptx with ph_with.gg. Closes #556.
  • embedded image in PPT can now be associated with an hyperlink
  • add a check to block_pour_docx() to avoid working with file paths containing '&'.

Features

  • add coverage to rtf, contributions from Davide Garolini at roche.
  • cursor_reach() gains new argument fixed to enable exact matching. It defaults to FALSE for backward compatibility.
  • remove_slide() gains new argument rm_images to enable images deletion from ppt/media.
  • new function body_comment() adds a comment on an existing paragraph at the cursor position.
  • docx_summary() gains parameter 'remove_field' to prevent field codes from appearing in the returned data.frame.

officer 0.6.5

Features

  • new function fp_tabs() to enable tabulation marks settings with flextable (for Word and RTF).

Issues

  • let the package be used with R < 4 by not using \(x) syntax

officer 0.6.4

Features

  • fp_border() gains support for all line border styles listed in ECMA-376 § 17.18.2 and allowed CSS border styles. Closes #165 and #443.

Changes

  • the dataframe returned by docx_comments() gains a list column para_id containing the id(s) of the parent paragraph(s). A possible breaking change is that the commented_text is now returned as a list column to account for comments spanning multiple runs. The docs gain a description of the columns of the returned dataframe.
  • opts_current_table() now ignore 'Quarto' setting.

Issues

  • Fix. Refactor docx_comments() to (properly) account for comments spanning multiple paragraphs, multiple comments in the same paragraph and replies. Closes #541.
  • Check and stop if fp_text_lite() is using a shading.color but no color.
  • Check used style in body_add_caption().
  • fix ph_remove(), ph_slidelink() and ph_hyperlink() that were not working since the latest refactoring.
  • Use fake attribute stlname if available in docx_summary().
  • calls to file.copy(from = "template/*.xml") are now done with argument copy.mode = FALSE for compatibility with 'nix'.

officer 0.6.3

Features

  • new function run_comment() to create a run with a comment.
  • new function docx_comments() to read comments in a Word document as a data.frame.
  • Add pptx support for invalid pptx files downloaded from https://slides.new.

Issues

  • Internal function is_doc_open() replaces is_office_doc_edited() to check if a document is open on Windows. This solves the issue where RStudio crashed while trying to write to an open Office document.
  • Add option preserve to preserve cell line breaks to docx_summary().
  • fix ph_hyperlink() when several hyperlinks are inside one slide and refactored ph_remove().

officer 0.6.2

Issues

  • encode char to rtf from 128 instead of 256
  • force 'firstLineChars' to 0 so that Chinese users don't get unwanted first indentation.
  • avoid segfaults with SVG images by using the function image_read_svg() when source is SVG in external_img().

officer 0.6.1

Features

  • add support for flextable in block_list().
  • add RTF support for run_autonum() and run_reference(), this enables captions support for flextable.

Changes

  • 'ragg' is used instead of base png because it manages any fonts.
  • defunct slip_in_footnote().

Issues

  • fix for to_wml.block_caption()

officer 0.6.0

Features

  • add RTF support, see rtf_doc() and rtf_add().

Internals

  • provides image_to_base64() and uuid_generate() as a tool for other 'officeverse' packages.
  • styles are now injected as is and updated with process_stylenames(), this allow to depend on a reference doc.

officer 0.5.2

Features

  • if magick is available and argument guess_size=TRUE, image size is read and do not need to be provided.

Issues

  • fix images and links in sections headers and footer.
  • fix body_add() content order.
  • fix issue with properties in 'Office' documents.
  • check arguments of run_autonum() and add tests.
  • update only officer sections

Internals

  • remove $get_at_cursor()

officer 0.5.1

Issues

  • manage also even/first/default sections not defined with officer (indicate there is even/first/default parts).
  • fix behavior regression with headers and footers replace_text_at_bkm. The previous behavior "don't trigger an error if a bookmark is missing" is back.
  • force Word default continuous section if no type is specified and first page footer/header if it is seen.
  • drop "Compatibility Mode" from Word documents.

Changes

  • Change license to MIT.
  • drop internal get_at_cursor()
  • use images sha1 value for filename with package 'openssl'. This should fix issues with duplicated images basenames, or non utf names, etc.

Features

  • export shape_properties_tags() for pptx extentions.

officer 0.5.0

New features

  • new function docx_set_character_style() to add or replace a Word character style.
  • new function docx_set_paragraph_style() to add or replace a Word paragraph style.
  • new function run_wordtext() to add a chunk of text associated with a Word character style.
  • potx and dotx files are now supported.
  • SVG images are now supported
  • Word sections can now have headers and footers. See prop_section().
  • function cursor_reach_test() to test if an expression has a match in the document.
  • add function docx_current_block_xml() to let developpers access the xml content where the cursor is.
  • ph_with.xml_document now manages images paths in slide and treats them in the relevant documents.

Issues

  • close 'Slide Master View' automatically.
  • more careful reading of document properties
  • fix cursor behavior, when pos='before', cursor is now set on element added 'before'. Internals about cursors have been refactored.

Changes

  • function slip_in_footnote() is deprecated. Use run_footnote() instead.

officer 0.4.4

New features

  • fp_par() now have argument word_style
  • add support for ln for external_img provided by Angus Moore
  • add word_title and word_description to table properties (prop_table()). These values can be used as alternative text for Word tables. These values can also be set as "knitr" chunk options.

Issues

  • fix for is_office_doc_edited() provided by Andrew Tungate.
  • tab.lp is no more set to null with usual rmarkdown outputs
  • autofit was never used when outputting prop_table to xml

Changes

  • Function opts_current_table() read some Quarto values related to captions in order to reuse them later.

officer 0.4.3

New features

  • set_doc_properties() now supports any character property. It provides an easy way to insert arbitrary fields. Given the challenges that can be encountered with find-and-replace in word with officer, the use of document fields and quick text fields provides a much more robust approach to automatic document generation from R.
  • Adding support for fields (e.g. auto slide number) in Powerpoint (#429), see empty_content().
  • add functionality to set shape geometry and outline, see ph_location(geam=...).

Changes

  • drop shortcuts$slip_in_tableref() and shortcuts$slip_in_plotref()
  • defunct slip_in_column_break() and slip_in_xml()
  • defunct slip_in_text()
  • remove defunct functions slip_in_img(), ph_add_fpar(), ph_add_par() and ph_add_text()

officer 0.4.2

New features

  • new as.matrix method for pptx to automatically extract one or all matrices from the file.
  • simple ([character()] and [block_list()]) speaker notes can now be added to a pptx presentation

Changes

  • deprecate slip_in_column_break and slip_in_text
  • doc: use 'title case' for the titles of function manuals
  • closing issues tab, opening discussion

officer 0.4.1

Issues

  • fix a bug in ph_with.external_img() that could be seen when alt_text was null
  • change default value for tab.cap.sep from ":" to ": "
  • fix an issue with body_end_section_columns() that is expected as 'continuous'.

New features

  • new parameter scale added to ph_with.gg, body_add_gg and body_add.gg to set the scale of ggplot outputs (like in ggsave).
  • new function set_autonum_bookmark() to recycle an object made by run_autonum() by changing the bookmark value.
  • add tnd argument to prefix a autonumber with the title number (i.e. 4.3-2 for figure 2 of chapter 4.3).
  • unordered_list() now supports level_list < 1 which will be interpreted as 'no bullet'.
  • add support to knitr table options tab.cap.fp_text to let format caption prefix in function opts_current_table().

Deprecation

  • deprecate almost all slip_in*() and ph_add*() functions. Functions ftext() and related used with fpar() are to be used as replacement.

officer 0.4.0

New features

  • new function fp_text_lite() that do not force to provide a value for each properties - if a value is not provided, its attribute will not be written and as a result, the default properties will be applied. Function fp_text() has also been adapted, it now supports NA meaning to not write the attributes as in fp_text_lite().
  • new function run_footnote to add footnotes in a Word document (it also makes possible to deprecate totally slip_in* functions).

Issues

  • fix a bug when creating the XML of table properties for Word documents

officer 0.3.19

New features

  • On Windows, the pptx file will not be overwritten if it is edited.
  • run_autonum gained new argument start_at.
  • tab.topcaption is now supported by opts_current_table()

Issues

  • fix issue with document properties that are null
  • angle was not always preserved in PowerPoint
  • fix pptx scrapping for grouped object containing a table
  • fix invalid hyperlinks in docx and pptx
  • fix issue with duplicated images basenames
  • internal get_reference_value - fix - if reference_data is not an existing file, it is appened to opts_knit$get("output.dir").

officer 0.3.18

Change

The sections are now corrected as follow, each section will be completed with the values of the default section if the value is missing. This should solve issue that lot of users have with page breaks when using sections. Now page breaks should disappear.

officer 0.3.17

New features

  • alt-text for images
  • On Windows, the docx file will not be overwritten if it is edited.
  • fp_text gained arguments to specify different fonts when mixing CJK and latin characters: cs.family, eastasia.family, hansi.family.

Issues

  • fix issue with document properties where values have to be html-escaped

officer 0.3.16

New features

  • new chunk function hyperlink_ftext().

Change

  • drop cairo usage and let user settings do the job

Issues

  • fix annotate_base that was not presenting the correct informatons (thanks to John Harrold).

officer 0.3.15

New features

  • new function body_add_plot() and body_add_caption()
  • new function run_bookmark() to create a run with a bookmark.
  • new function body_set_default_section() that changes default section properties of a Word document.

Issues

  • fix #333: issue with &, <, > in to_wml.block_table.
  • fix davidgohel/officedown#41: when a space was in the path, pandoc send the short path format instead of the real path name, it needed to be transformed with normalizePath.

Change

  • The documentation has been rewritten and can now be found at the following URL: https://ardata-fr.github.io/officeverse/.
  • run_word_field will supersed run_seqfield.
  • argument prop of ftext() now default to NULL

officer 0.3.14

Issues

  • revert PR#319 that introduced a major issue with repeated images in Word document.

Changes

  • remove defunct functions (ph_with_*at) and set deprecated as defunct (other ph_with_*at)

officer 0.3.13

Issues

  • fix sections issue with page margin (it effected also officedown).
  • fix issue #320 (with URL encoding in .rel files).
  • fix encoding issue with ftext
  • explicit coding of bold, italic and uunderline attributes
  • ftext with a name for chunk style is fixed

New features

  • change_styles - support for run/character, paragraph and table styles.
  • new function table_stylenames() to define columns stylenames to be used in tables, it benefits to block_table and body_add_table.
  • line spacing is now a feature of fp_par
  • run_autonum, run_seqfield and run_reference can now be formatted with an object of class fp_text.

officer 0.3.12

New features

  • added body_end_block_section and body_add.block_section so that users are free to add any section they want

Issues

  • Use pandoc.exe when platform is windows

officer 0.3.11

Issues

  • pandoc availability is now checked (for solaris and CRAN policy)

officer 0.3.10

New features

  • new argument level_list in function ph_with.block_list ; you can now format block_list as lists in PowerPoint.
  • functions body_add_table, ph_with.data.frame, body_add.data.frame get new argument alignment for column alignments.

Issues

  • run_reference now bookmarks only the number.

officer 0.3.9

Issues

  • fix issues with invisible images when using ph_location_fullsize and a blank layout
  • Embedded files in initial Word document were lost when they were read and printed
  • fix run_reference issue with characters '-', '_'.

New features

  • enrich table blocks (block_table()) with table parameters such as width, layout. See prop_table().
  • new function plot_layout_properties() to help identifying placeholders on layouts

officer 0.3.8

Issues

  • fix border issues with word paragraphs
  • reverse changes to body_add_blocks and body_add_gg as it generated issues with cursor
  • let pptx template have an empty master slide

Changes

  • internals ; drop digest from dependencies

officer 0.3.7

New features

  • new function get_reference_value to read reference template used by R Markdown.
  • fp_par now have an argument "keep_with_next" that specifies that the paragraph (or at least part of it) should be rendered on the same page as the next paragraph when possible.
  • new experimental function body_add and associated methods

Changes

  • internals ; drop Rcpp and htmltools dependencies

Issues

  • fix ph_with.external_img #265 (placeholder properties were not used)
  • fix ph_add_text when paragraph was empty and no content was rendered

officer 0.3.6

Enhancement

  • support now for template generated from google docs thanks to Adam Lyon
  • ph_location results can now be assigned and used as normal objetcs (and not only as quosures).

Changes

  • id_chr is now depreacted in favor of id in function ph_remove, ph_slidelink, ph_hyperlink, ph_add_text, ph_add_par, ph_add_fpar.

Issues

  • fix ph_with.xml_document so that placeholders' labels are not forgotten (for rvg, flextable, etc.)
  • fix underline text issue when used with powerpoint (#229).
  • fix slip_in_text issue by escaping HTML entities (#234).
  • fix issue with move_slide (#223).

officer 0.3.5

Enhancement

  • new method ph_with.xml_document that will replace ph_with and ph_with_at.

Issues

  • fix properties inheritance with ph_with function.

officer 0.3.4

Enhancement

  • new function sanitize_images to avoid file size inflation when replacing images
  • svg support (will require rsvg package)

Issues

  • fix external_img size issue with method ph_with.
  • fix bg inheritance when using `ph_with functions.

officer 0.3.3

Enhancement

  • new generic function ph_with() and function ph_location*() to ease insertion of elements.
  • new function slide_size() provide size of slides.

Issues

  • fix issue with fonts when east asian characters are used in Word.

officer 0.3.2

Enhancement

  • new function change_styles() to change paragraph styles in a Word document.
  • new function move_slide(): move a slide in a presentation.
  • fix body_add_docx examples

Issues

  • fix issue with text underlined and justified paragraphs in Word.
  • skip errored test on macOS that can be read on CRAN check page.
  • all examples are now generated in tempdir().

officer 0.3.1

Issues

  • fix function body_add_fpar() when argument style was used.
  • slide_summary was using a bad xpath query.
  • fixed character encoding issue for filename whith windows OS

officer 0.3.0

Enhancement

  • function cursor_bookmark now let set the cursor in a text box thanks to Noam Ross. cursor_forward and cursor_backward can now fail if cursor is on a textbox but an error message will explain it to the user.
  • Word documents support now footnotes.
  • Word section functions have been refactored.
  • New functions for replacement in headers and footers in Word documents. See functions headers_replace* and footers_replace*
  • PowerPoint processing optimisation when generating more than few slides.

Issues

  • fix an issue with layout_properties when master layout is empty.

officer 0.2.2

Enhancement

  • rdocx objects support external docx insertion
  • Word margins can be modified now (thanks to Jonathan Cooper)
  • New function ph_fpars_at() to add several formated paragraphs in a new shape.
  • Function annotate_base will generate a slide to identify the placeholder indexes, master names and indexes.

Issues

  • fix issue with duplicated lines in layout_properties(#103)
  • new argument par_default in ph_add_fpar so fpar par. properties can be kept as is.
  • fix issue with images when duplicated basename()s

officer 0.2.1

Issues

  • fix issue #97 with function pptx_summary()

officer 0.2.0

Enhancement

  • new function body_replace_all_text() to replace any text in a Word document
  • new functions for xlsx files (experimental).
  • new functions ph_with_gg() and ph_with_gg_at() to make easier production of ggplot objects in PowerPoint
  • new functions ph_with_ul() to make easier production of unordered lists of text in PowerPoint

Issues

  • an error is raised when adding an image with blank(s) in its basename (i.e. /home/user/bla bla.png).

officer 0.1.8

Issues

  • decrease execution time necessary to add elements into big slide deck
  • fix encoding issue in function "*_add_table"
  • fix an issue with complex slide layouts (there is still an issue left but don't know how to manage it for now)

Changes

  • Functions slide_summary and layout_properties now return inches.

officer 0.1.7

Enhancement

  • new function body_replace_at to replace text inside bookmark
  • argument header for body_add_table and ph_with_table.
  • layout_properties now returns placeholder id when available.

Issues

  • an error is now occurring when an incorrect index is used with ph_with_* functions.

officer 0.1.6

Enhancement

  • function ph_empty_at can now make new shapes inherit properties from template

Changes

  • drop gdtools dependency

officer 0.1.5

Enhancement

  • new function body_default_section
  • fp_border supports width in double precision

Issues

  • characters <, > and & are now html encoded
  • on_slide index is now the correct slide number id.

Changes

  • drop dplyr deprecated verbs from code
  • rename break_column to break_column_before.

officer 0.1.4

Issues

  • body_end_section is supposed to only work with cursor on a paragraph, an error is raised now if ending a section on something else than a paragraph.

Enhancement

  • read_pptx run faster than in previous version thanks to some code refactoring

officer 0.1.3

new feature

  • new function media_extract to extract a media file from a document object. This function can be used to access images stored in a PowerPoint file.

Issues

  • drop magick dependence

officer 0.1.2

new features

  • new functions docx_summary and pptx_summary to import content of an Office document into a tidy data.frame.
  • new function docx_dim() is returning current page dimensions.
  • new functions set_doc_properties and doc_properties to let you modify/access metadata of Word and PowerPoint documents.
  • cursor can now reach paragraphs with a bookmark (functions body_bookmark and cursor_bookmark).
  • Content can be inserted at any arbitrary location in PowerPoint (functions ph_empty_at, ph_with_img_at and ph_with_table_at).

Issues

  • cast all columns of data.frame as character when using ph_with_table and body_add_table
  • fix pptx when more than 9 slides

officer 0.1.1

Enhancement

  • argument style of functions body_add* and slip_in* now will use docx default style if not specified
  • new function body_add_gg to add ggplots to Word documents
  • new function test_zip for diagnostic purpose

API changes

  • classes docx and pptx have been renamed rdocx and pptx to avoid conflict with package ReporteRs.