officerextras

🏢 A R package with {officer} helper functions.

https://github.com/elipousson/officerextras

Science Score: 26.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (18.4%) to scientific vocabulary

Keywords

microsoft-word officer r-package rstats
Last synced: 10 months ago · JSON representation

Repository

🏢 A R package with {officer} helper functions.

Basic Info
Statistics
  • Stars: 13
  • Watchers: 3
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Topics
microsoft-word officer r-package rstats
Created over 3 years ago · Last pushed over 1 year ago
Metadata Files
Readme Changelog License Codemeta

README.Rmd

---
output: github_document
---



```{r, include = FALSE}
knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>",
  fig.path = "man/figures/README-",
  out.width = "100%"
)
```

# officerExtras officerExtras website


[![Lifecycle: experimental](https://img.shields.io/badge/lifecycle-experimental-orange.svg)](https://lifecycle.r-lib.org/articles/stages.html#experimental)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
[![Project Status: WIP – Initial development is in progress, but there has not yet been a stable, usable release suitable for the public.](https://www.repostatus.org/badges/latest/wip.svg)](https://www.repostatus.org/#wip)
[![Codecov test coverage](https://codecov.io/gh/elipousson/officerExtras/branch/main/graph/badge.svg)](https://app.codecov.io/gh/elipousson/officerExtras?branch=main)


The goal of officerExtras is to provide helper and convenience functions for the [{officer}](https://github.com/davidgohel/officer) package.

## Installation

You can install the development version of officerExtras like so:

``` r
pak::pkg_install("elipousson/officerExtras")
```

## Usage

The officerExtras package provides a variety of helper functions to simplify the process of working with officer. For example, a single `read_officer()` function works with docx, pptx, or xlsx files:

```{r read_officer}
library(officerExtras)

docx <- read_officer(filename = "example.docx", path = system.file("doc_examples", package = "officer"))

pptx <- read_officer(filename = "example.pptx", path = system.file("doc_examples", package = "officer"))
```

officer uses a print method to save rdocx, rpptx, or rxlsx objects back to files. officerExtras provides a `write_officer()` with that adds the option to pass a filename and path separately and pass document properties to `officer::doc_properties()`.

```{r write_officer}
withr::with_tempdir({
  write_officer(docx, "write-example.docx", modified_by = "officerExtras", title = "Document Title set by doc_properties", subject = "Microsoft Word, R")

  example_docx <- read_officer("write-example.docx")

  officer::doc_properties(example_docx)
})
```

The package also wraps useful functions from a few other packages.  `convert_docx()` uses `rmarkdown::pandoc_convert()` to convert a rdocx object or a Word document to any other pandoc supported output format:

```{r convert_docx}
convert_docx(docx, to = "markdown")
```


## Related projects

There are a number of related projects for extending officer or working with [OOXML](https://en.wikipedia.org/wiki/Office_Open_XML) in R and other languages.

### Extending officer

- [gto](https://github.com/GSK-Biostatistics/gto): allow users to insert gt tables into officeverse.
- [onbrand](https://github.com/john-harrold/onbrand): A R package to provide a systematic method to script support for different Word of PowerPoint templates.
- [officerWinTools](https://github.com/joshmire/officerWinTools): A R package to complement the officer package when using Microsoft Office in a Windows environment.

### Working with Microsoft Office documents with R

- [docxtractr](https://github.com/hrbrmstr/docxtractr): Extract Tables from Microsoft Word Documents with R
- [stylex](https://github.com/niszet/stylex): A R package to help update docx style files.
- [deef](https://github.com/prcleary/deef): Data extractor scripts for electronic forms, compatible with Microsoft Word files.

### Other tools for working with Microsoft Office documents

- [python-docx](https://github.com/python-openxml/python-docx):Create and modify Word documents with Python
- [Docx-templates](https://github.com/guigrpa/docx-templates): Template-based docx report creation for both Node and the browser
- [docx](https://github.com/dolanmiu/docx): Easily generate and modify .docx files with JS/TS. Works for Node and on the Browser.
- [docxtemplater](https://github.com/open-xml-templating/docxtemplater): Generate docx, pptx, and xlsx from templates (Word, Powerpoint and Excel documents), from Node.js, the Browser and the command line

Owner

  • Name: Eli Pousson
  • Login: elipousson
  • Kind: user
  • Location: Baltimore, MD
  • Company: Baltimore City Department of Planning

I love old buildings and bicycles. Planner with the Baltimore City Department of Planning. Former preservationist @baltimoreheritage

CodeMeta (codemeta.json)

{
  "@context": "https://doi.org/10.5063/schema/codemeta-2.0",
  "@type": "SoftwareSourceCode",
  "identifier": "officerExtras",
  "description": "Helper and convenience functions using the 'officer' package to modify docx files.",
  "name": "officerExtras: Extra Helpers for 'officer'",
  "relatedLink": "https://elipousson.github.io/officerExtras/",
  "codeRepository": "https://github.com/elipousson/officerExtras",
  "issueTracker": "https://github.com/elipousson/officerExtras/issues",
  "license": "https://spdx.org/licenses/MIT",
  "version": "0.0.1.9002",
  "programmingLanguage": {
    "@type": "ComputerLanguage",
    "name": "R",
    "url": "https://r-project.org"
  },
  "runtimePlatform": "R version 4.3.0 (2023-04-21)",
  "author": [
    {
      "@type": "Person",
      "givenName": "Eli",
      "familyName": "Pousson",
      "email": "eli.pousson@gmail.com",
      "@id": "https://orcid.org/0000-0001-8280-1706"
    }
  ],
  "copyrightHolder": [
    {
      "@type": "Person",
      "givenName": "Eli",
      "familyName": "Pousson",
      "email": "eli.pousson@gmail.com",
      "@id": "https://orcid.org/0000-0001-8280-1706"
    }
  ],
  "maintainer": [
    {
      "@type": "Person",
      "givenName": "Eli",
      "familyName": "Pousson",
      "email": "eli.pousson@gmail.com",
      "@id": "https://orcid.org/0000-0001-8280-1706"
    }
  ],
  "softwareSuggestions": [
    {
      "@type": "SoftwareApplication",
      "identifier": "covr",
      "name": "covr",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=covr"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "ggplot2",
      "name": "ggplot2",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=ggplot2"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "gt",
      "name": "gt",
      "version": ">= 0.7.0",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=gt"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "rmarkdown",
      "name": "rmarkdown",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=rmarkdown"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "testthat",
      "name": "testthat",
      "version": ">= 3.0.0",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=testthat"
    },
    {
      "@type": "SoftwareApplication",
      "identifier": "withr",
      "name": "withr",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=withr"
    }
  ],
  "softwareRequirements": {
    "1": {
      "@type": "SoftwareApplication",
      "identifier": "cli",
      "name": "cli",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=cli"
    },
    "2": {
      "@type": "SoftwareApplication",
      "identifier": "glue",
      "name": "glue",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=glue"
    },
    "3": {
      "@type": "SoftwareApplication",
      "identifier": "lifecycle",
      "name": "lifecycle",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=lifecycle"
    },
    "4": {
      "@type": "SoftwareApplication",
      "identifier": "officer",
      "name": "officer",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=officer"
    },
    "5": {
      "@type": "SoftwareApplication",
      "identifier": "rlang",
      "name": "rlang",
      "version": ">= 1.1.0",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=rlang"
    },
    "6": {
      "@type": "SoftwareApplication",
      "identifier": "tibble",
      "name": "tibble",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=tibble"
    },
    "7": {
      "@type": "SoftwareApplication",
      "identifier": "utils",
      "name": "utils"
    },
    "8": {
      "@type": "SoftwareApplication",
      "identifier": "vctrs",
      "name": "vctrs",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=vctrs"
    },
    "9": {
      "@type": "SoftwareApplication",
      "identifier": "xml2",
      "name": "xml2",
      "provider": {
        "@id": "https://cran.r-project.org",
        "@type": "Organization",
        "name": "Comprehensive R Archive Network (CRAN)",
        "url": "https://cran.r-project.org"
      },
      "sameAs": "https://CRAN.R-project.org/package=xml2"
    },
    "SystemRequirements": null
  },
  "fileSize": "318.76KB",
  "releaseNotes": "https://github.com/elipousson/officerExtras/blob/master/NEWS.md",
  "readme": "https://github.com/elipousson/officerExtras/blob/main/README.md",
  "contIntegration": "https://app.codecov.io/gh/elipousson/officerExtras?branch=main",
  "developmentStatus": [
    "https://lifecycle.r-lib.org/articles/stages.html#experimental",
    "https://www.repostatus.org/#wip"
  ],
  "keywords": [
    "microsoft-word",
    "officer",
    "r-package",
    "rstats"
  ]
}

GitHub Events

Total
  • Issues event: 3
  • Push event: 8
  • Create event: 1
Last Year
  • Issues event: 3
  • Push event: 8
  • Create event: 1

Issues and Pull Requests

Last synced: about 1 year ago

All Time
  • Total issues: 2
  • Total pull requests: 0
  • Average time to close issues: 5 months
  • Average time to close pull requests: N/A
  • Total issue authors: 2
  • Total pull request authors: 0
  • Average comments per issue: 0.5
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 1
  • Pull requests: 0
  • Average time to close issues: 3 months
  • Average time to close pull requests: N/A
  • Issue authors: 1
  • Pull request authors: 0
  • Average comments per issue: 0.0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • elipousson (1)
  • daviddiviny (1)
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels

Dependencies

.github/workflows/pkgdown.yaml actions
  • JamesIves/github-pages-deploy-action v4.4.1 composite
  • actions/checkout v3 composite
  • r-lib/actions/setup-pandoc v2 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite
.github/workflows/test-coverage.yaml actions
  • actions/checkout v3 composite
  • actions/upload-artifact v3 composite
  • r-lib/actions/setup-r v2 composite
  • r-lib/actions/setup-r-dependencies v2 composite
DESCRIPTION cran
  • cli * imports
  • glue * imports
  • lifecycle * imports
  • officer * imports
  • rlang >= 1.1.0 imports
  • tibble * imports
  • utils * imports
  • vctrs * imports
  • xml2 * imports
  • covr * suggests
  • ggplot2 * suggests
  • gt >= 0.7.0 suggests
  • rmarkdown * suggests
  • testthat >= 3.0.0 suggests
  • withr * suggests