get_bookmarks_pdftools() gets pdf bookmark information using pdftools::pdf_toc() (#30). Note though due to poppler library limitations it can’t return page numbers that correspond to each bookmark. Hence get_bookmarks() will try to use the following helper functions in the following order:
get_bookmarks_pdftk()get_bookmarks_pdftools()set_bookmarks_gs() for the newest versions of ghostscript (#59). The new approach means we could remove some GPLv3 code and have relicensed the package under the MIT license.get_bookmarks() and get_bookmarks_pdftk() no longer returns its data frame value invisibly.set_docinfo_exiftool() should now losslessly write all legal datetimes (#55). set_docinfo()’s priority order has been updated to the following:
set_docinfo_exiftool()set_docinfo_gs()set_docinfo_pdftk()Unit tests have been adjusted to prevent CRAN R CMD check ERRORs on certain CRAN platforms that don’t have ghostscript installed or are ran in a non-Unicode locale (#56).
cat_bookmarks() concatenates a list of bookmarks into a single bookmarks data frame while updating the page numbers. Useful if wanting to concatenate multiple pdf files together and would like to preserve the bookmarks information.get_bookmarks() returns a data frame with pdf bookmarks information. get_bookmarks() will try to use the following helper functions in the following order:
get_bookmarks_pdftk() which wraps pdftk command-line toolset_bookmarks() sets (replaces) pdf bookmarks information. set_bookmarks() will try to use the following helper functions in the following order:
set_bookmarks_gs() which wraps ghostscript command-line toolset_bookmarks_pdftk() which wraps pdftk command-line tooldocinfo() provides an {R6} object to represent pdf documentation info entries.as_docinfo() can coerce objects into docinfo() objects. In particular there is an as_docinfo.xmp() method to coerce xmp() objects.get_docinfo() reads in pdf documentation info entries from pdf file(s). get_docinfo() will try to use the following helper functions in the following order:
get_docinfo_pdftk() which wraps pdftk command-line toolget_docinfo_exiftool() which wraps exiftool command-line toolget_docinfo_pdftools() which wraps pdftools::pdf_info()set_docinfo() sets pdf documentation info entries to a pdf file. set_docinfo() will try to use the following helper functions in the following order:
set_docinfo_gs() which wraps ghostscript command-line toolset_docinfo_pdftk() which wraps pdftk command-line toolset_docinfo_exiftool() which wraps exiftool command-line toolxmp() provides an {R6} object to represent xmp metadata.
as_lang_alt() supports “language alternative” XMP tags.as_xmp() can coerce objects into xmp() objects. In particular there is an as_xmp.docinfo() method to coerce docinfo() objects.get_xmp() reads in xmp metadata from media file(s). get_xmp() will try to use the following helper functions in the following order:
get_xmp_exiftool() which wraps exiftool command-line toolset_xmp() sets xmp metadata in media file(s). set_xmp() will try to use the following helper functions in the following order:
set_xmp_exiftool() which wraps exiftool command-line toolcat_pages() concatenates (pdf) file(s) into a single output pdf. cat_pages() will try to use the following helper functions in the following order:
cat_pages_qpdf() which wraps qpdf::pdf_combine()cat_pages_pdftk() which wraps pdftk command-line toolcat_pages_gs() which wraps ghostscript command-line tooln_pages() returns the number of pages in the (pdf) file(s). n_pages() will try to use the following helper functions in the following order:
n_pages_qpdf() which wraps qpdf::pdf_length()n_pages_exiftool() which wraps exiftool command-line tooln_pages_pdftk() which wraps pdftk command-line tooln_pages_gs() which wraps ghostscript command-line toolThe following functions detect support for various higher-level features:
supports_get_bookmarks()supports_set_bookmarks()supports_get_docinfo()supports_set_docinfo()supports_get_xmp()supports_set_xmp()supports_n_pages()The following functions detect support for various command-line tools needed for some lower-level helper functions:
supports_exiftool() detects support for exiftoolsupports_gs() detects support for ghostscriptsupports_pdftk() detects support for pdftkenable_feature_message() returns a character vector with the information needed to install the requested feature. Formatted for use with rlang::abort(), rlang::warn(), or rlang::inform().
The spdx_licenses data set contains the SPDX License List.