{
  "_id": "6a10443facfb0bcc41c9e37a",
  "Package": "pnpmisc",
  "Type": "Package",
  "Title": "Utilities for Print-and-Play Board Games",
  "Version": "0.2.0-21",
  "Authors@R": "c(person(\"Trevor L.\", \"Davis\", role=c(\"aut\", \"cre\"),\nemail=\"trevor.l.davis@gmail.com\",\ncomment = c(ORCID = \"0000-0001-6341-4639\")))",
  "URL": "https://github.com/trevorld/pnpmisc,\nhttps://trevorldavis.com/R/pnpmisc/dev/",
  "BugReports": "https://github.com/trevorld/pnpmisc/issues",
  "Description": "Functions for creating and editing PDF files for\nprint-and-play board games with a consistent interface in which\nthe input filename is the first argument, the output filename\nis the second, and all other arguments are named.  Includes\nfunctions to resize, scale, rotate, and combine PDF pages, add\ncrop marks, crosshairs, and origami fold guides, and create\nplastic storage box jackets and origami card wallets. Also\nprovides layout functions for splitting pages into individual\ncomponent images and reassembling them.  Wraps PDF\nfunctionality from 'qpdf', 'pdftools', and 'xmpdf' and\noptionally uses 'ghostscript', 'pdfxup', and 'bittermelon' for\nadditional functionality.",
  "SystemRequirements": "Several features require `ghostscript`.  To make\nN-up pdf documents you'll also need `pdfxup`.",
  "License": "MIT + file LICENSE",
  "Roxygen": "list(markdown = TRUE)",
  "Config/testthat/edition": "3",
  "Encoding": "UTF-8",
  "Config/roxygen2/version": "8.0.0",
  "Config/pak/sysreqs": "libjpeg-dev libssl-dev libpoppler-cpp-dev\npoppler-data",
  "Repository": "https://trevorld.r-universe.dev",
  "Date/Publication": "2026-05-11 06:12:25 UTC",
  "RemoteUrl": "https://github.com/trevorld/pnpmisc",
  "RemoteRef": "HEAD",
  "RemoteSha": "a6e959d5bd2e03e8d473f633c7ec5698f38f970a",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-05-11 06:38:03 UTC",
    "User": "root"
  },
  "Author": "Trevor L. Davis [aut, cre] (ORCID:\n<https://orcid.org/0000-0001-6341-4639>)",
  "Maintainer": "Trevor L. Davis <trevor.l.davis@gmail.com>",
  "MD5sum": "f4ee6c4624a72f97aceadf107924692e",
  "_user": "trevorld",
  "_type": "src",
  "_file": "pnpmisc_0.2.0-21.tar.gz",
  "_fileid": "2286bd2c6cebd1f1eed3aed7ec8902dc4bbdf519de59ca2777639fb5a2817a38",
  "_filesize": 278029,
  "_sha256": "2286bd2c6cebd1f1eed3aed7ec8902dc4bbdf519de59ca2777639fb5a2817a38",
  "_created": "2026-05-11T06:38:03.000Z",
  "_published": "2026-05-22T11:55:43.093Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 77374415608,
      "time": 158,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "6911849540"
    },
    {
      "job": 77374416165,
      "time": 140,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "6911845396"
    },
    {
      "job": 77374415952,
      "time": 235,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "6911867057"
    },
    {
      "job": 77374416113,
      "time": 117,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "6911839820"
    },
    {
      "job": 77374415667,
      "time": 187,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "6911813470"
    },
    {
      "job": 77374415436,
      "time": 119,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7159873630"
    },
    {
      "job": 77374416175,
      "time": 146,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "OK",
      "artifact": "6911846945"
    },
    {
      "job": 77374415964,
      "time": 124,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "OK",
      "artifact": "6911841384"
    },
    {
      "job": 77374416102,
      "time": 160,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "6911849886"
    }
  ],
  "_buildurl": "https://github.com/r-universe/trevorld/actions/runs/25654301809",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/trevorld/pnpmisc",
  "_commit": {
    "id": "a6e959d5bd2e03e8d473f633c7ec5698f38f970a",
    "author": "Trevor L. Davis <trevor.l.davis@gmail.com>",
    "committer": "Trevor L. Davis <trevor.l.davis@gmail.com>",
    "message": "docs(DESCRIPTION): Improve Description\n",
    "time": 1778479945
  },
  "_maintainer": {
    "name": "Trevor L. Davis",
    "email": "trevor.l.davis@gmail.com",
    "login": "trevorld",
    "uuid": 2433259,
    "orcid": "0000-0001-6341-4639"
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.2",
      "role": "Depends"
    },
    {
      "package": "grid",
      "role": "Imports"
    },
    {
      "package": "grDevices",
      "role": "Imports"
    },
    {
      "package": "pdftools",
      "role": "Imports"
    },
    {
      "package": "qpdf",
      "version": ">= 1.4.1",
      "role": "Imports"
    },
    {
      "package": "rlang",
      "role": "Imports"
    },
    {
      "package": "stats",
      "role": "Imports"
    },
    {
      "package": "tools",
      "role": "Imports"
    },
    {
      "package": "utils",
      "role": "Imports"
    },
    {
      "package": "bittermelon",
      "version": ">= 2.2.0-1",
      "role": "Suggests"
    },
    {
      "package": "gridpattern",
      "role": "Suggests"
    },
    {
      "package": "jpeg",
      "role": "Suggests"
    },
    {
      "package": "piecepackr",
      "version": ">= 1.14.0-6",
      "role": "Suggests"
    },
    {
      "package": "png",
      "role": "Suggests"
    },
    {
      "package": "marquee",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "version": ">= 3.0.0",
      "role": "Suggests"
    },
    {
      "package": "xmpdf",
      "role": "Suggests"
    }
  ],
  "_owner": "trevorld",
  "_selfowned": true,
  "_usedby": 1,
  "_updates": [
    {
      "week": "2025-42",
      "n": 2
    },
    {
      "week": "2025-47",
      "n": 3
    },
    {
      "week": "2025-51",
      "n": 10
    },
    {
      "week": "2026-02",
      "n": 6
    },
    {
      "week": "2026-03",
      "n": 3
    },
    {
      "week": "2026-11",
      "n": 40
    },
    {
      "week": "2026-16",
      "n": 1
    },
    {
      "week": "2026-19",
      "n": 1
    },
    {
      "week": "2026-20",
      "n": 6
    }
  ],
  "_tags": [
    {
      "name": "v0.1.1",
      "date": "2025-11-18"
    }
  ],
  "_topics": [
    "print-and-play"
  ],
  "_stars": 0,
  "_contributors": [
    {
      "user": "trevorld",
      "count": 109,
      "uuid": 2433259
    }
  ],
  "_userbio": {
    "uuid": 2433259,
    "type": "user",
    "name": "Trevor L. Davis",
    "description": "Studies electricity markets"
  },
  "_downloads": {
    "count": 0,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/pnpmisc"
  },
  "_devurl": "https://github.com/trevorld/pnpmisc",
  "_pkgdown": "https://trevorldavis.com/R/pnpmisc/dev/",
  "_searchresults": 0,
  "_rbuild": "4.6.0",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/pnpmisc.html",
    "extra/readme.html",
    "extra/readme.md",
    "manual.pdf"
  ],
  "_cranurl": false,
  "_exports": [
    "as_fill",
    "bm_create_pdf",
    "bm_crop_layout",
    "bm_rm_crosshairs",
    "bm_split_layout",
    "fullGrob",
    "grid_add_cropmarks",
    "grid_add_crosshairs",
    "grid_add_layout",
    "grid_add_lines",
    "grid_add_origami",
    "grid_add_origami_bb",
    "grid_add_rects",
    "grid.full",
    "layout_grid",
    "layout_name_fn",
    "layout_names",
    "layout_preset",
    "ls_temp_pdfs",
    "pdf_add_cropmarks",
    "pdf_add_crosshairs",
    "pdf_add_lines",
    "pdf_add_origami",
    "pdf_add_overlay",
    "pdf_add_rects",
    "pdf_append_blank",
    "pdf_apply",
    "pdf_change_paper",
    "pdf_clean",
    "pdf_combine",
    "pdf_compress",
    "pdf_create_4x6_jacket",
    "pdf_create_blank",
    "pdf_create_jacket",
    "pdf_create_jacket_instructions",
    "pdf_create_poker_jacket",
    "pdf_create_wallet",
    "pdf_gs",
    "pdf_height",
    "pdf_orientation",
    "pdf_overlay_stamp",
    "pdf_pad_paper",
    "pdf_pages",
    "pdf_paper",
    "pdf_pdfxup",
    "pdf_pdfxup_booklet",
    "pdf_rasterize",
    "pdf_render_bm_list",
    "pdf_render_bm_pixmap",
    "pdf_render_raster",
    "pdf_rep",
    "pdf_rm_crosshairs",
    "pdf_rotate_pages",
    "pdf_scale",
    "pdf_set_bookmarks",
    "pdf_set_docinfo",
    "pdf_set_xmp",
    "pdf_subset",
    "pdf_width",
    "rm_temp_pdfs",
    "zip_extract_bm_pixmap"
  ],
  "_help": [
    {
      "page": "bm_create_pdf",
      "title": "Create a pdf from a list of images",
      "topics": [
        "bm_create_pdf"
      ]
    },
    {
      "page": "bm_crop_layout",
      "title": "Crop out a component from a print-and-play layout",
      "topics": [
        "bm_crop_layout"
      ]
    },
    {
      "page": "bm_rm_crosshairs",
      "title": "Remove crosshairs from a raster object",
      "topics": [
        "bm_rm_crosshairs"
      ]
    },
    {
      "page": "bm_split_layout",
      "title": "Extract components from a print-and-play layout",
      "topics": [
        "bm_split_layout"
      ]
    },
    {
      "page": "fullGrob",
      "title": "A rectangular grob filled with a color, image, or pattern.",
      "topics": [
        "as_fill",
        "fullGrob",
        "grid.full"
      ]
    },
    {
      "page": "grid_add_cropmarks",
      "title": "Draw crop marks around components",
      "topics": [
        "grid_add_cropmarks"
      ]
    },
    {
      "page": "grid_add_crosshairs",
      "title": "Draw crosshairs at component corners",
      "topics": [
        "grid_add_crosshairs"
      ]
    },
    {
      "page": "grid_add_layout",
      "title": "Draw images to a layout with grid",
      "topics": [
        "grid_add_layout"
      ]
    },
    {
      "page": "grid_add_lines",
      "title": "Draw lines along component edges",
      "topics": [
        "grid_add_lines"
      ]
    },
    {
      "page": "grid_add_origami",
      "title": "Draw origami fold symbols",
      "topics": [
        "grid_add_origami",
        "grid_add_origami_bb"
      ]
    },
    {
      "page": "grid_add_rects",
      "title": "Draw (rounded) rectangles around components",
      "topics": [
        "grid_add_rects"
      ]
    },
    {
      "page": "layout_grid",
      "title": "Layout data frame for a grid of identically sized components",
      "topics": [
        "layout_grid"
      ]
    },
    {
      "page": "layout_name_fn",
      "title": "Function to generate layout names",
      "topics": [
        "layout_name_fn"
      ]
    },
    {
      "page": "layout_preset",
      "title": "Layout data frame for a named preset",
      "topics": [
        "layout_names",
        "layout_preset"
      ]
    },
    {
      "page": "rm_temp_pdfs",
      "title": "List and remove temporary pdfs",
      "topics": [
        "ls_temp_pdfs",
        "rm_temp_pdfs"
      ]
    },
    {
      "page": "pdf_add_cropmarks",
      "title": "Add crop marks to a pdf",
      "topics": [
        "pdf_add_cropmarks"
      ]
    },
    {
      "page": "pdf_add_crosshairs",
      "title": "Add crosshairs to a pdf",
      "topics": [
        "pdf_add_crosshairs"
      ]
    },
    {
      "page": "pdf_add_lines",
      "title": "Add lines to a pdf",
      "topics": [
        "pdf_add_lines"
      ]
    },
    {
      "page": "pdf_add_origami",
      "title": "Add origami symbols to a pdf",
      "topics": [
        "pdf_add_origami"
      ]
    },
    {
      "page": "pdf_add_overlay",
      "title": "Overlay custom graphics on a pdf",
      "topics": [
        "pdf_add_overlay"
      ]
    },
    {
      "page": "pdf_add_rects",
      "title": "Add (rounded) rectangles to a pdf",
      "topics": [
        "pdf_add_rects"
      ]
    },
    {
      "page": "pdf_append_blank",
      "title": "Append blank pages to a pdf",
      "topics": [
        "pdf_append_blank"
      ]
    },
    {
      "page": "pdf_apply",
      "title": "Modify selected pages on a pdf",
      "topics": [
        "pdf_apply"
      ]
    },
    {
      "page": "pdf_change_paper",
      "title": "Change pdf paper size",
      "topics": [
        "pdf_change_paper",
        "pdf_pad_paper"
      ]
    },
    {
      "page": "pdf_clean",
      "title": "Copies pdf file while removing temporary pdf files",
      "topics": [
        "pdf_clean"
      ]
    },
    {
      "page": "qpdf_wrappers",
      "title": "Wrappers around 'qpdf' functions",
      "topics": [
        "pdf_combine",
        "pdf_compress",
        "pdf_overlay_stamp",
        "pdf_rotate_pages",
        "pdf_subset"
      ]
    },
    {
      "page": "pdf_create_blank",
      "title": "Create pdf of blank pages",
      "topics": [
        "pdf_create_blank"
      ]
    },
    {
      "page": "pdf_create_jacket",
      "title": "Create printable storage box jacket pdf",
      "topics": [
        "pdf_create_4x6_jacket",
        "pdf_create_jacket",
        "pdf_create_jacket_instructions",
        "pdf_create_poker_jacket"
      ]
    },
    {
      "page": "pdf_create_wallet",
      "title": "Create print-and-play card wallet pdf",
      "topics": [
        "pdf_create_wallet"
      ]
    },
    {
      "page": "pdf_gs",
      "title": "Process the pdf file with 'ghostscript'",
      "topics": [
        "pdf_gs"
      ]
    },
    {
      "page": "pdf_orientation",
      "title": "Tell whether pdf is in portrait or landscape mode",
      "topics": [
        "pdf_orientation"
      ]
    },
    {
      "page": "pdf_pages",
      "title": "Get integer vector of subset of pdf pages",
      "topics": [
        "pdf_pages"
      ]
    },
    {
      "page": "pdf_paper",
      "title": "Infer the paper size of a PDF document",
      "topics": [
        "pdf_paper"
      ]
    },
    {
      "page": "pdf_pdfxup",
      "title": "N-up pages of a document with 'pdfxup'",
      "topics": [
        "pdf_pdfxup",
        "pdf_pdfxup_booklet"
      ]
    },
    {
      "page": "pdf_rasterize",
      "title": "Rasterize a pdf",
      "topics": [
        "pdf_rasterize"
      ]
    },
    {
      "page": "pdf_render_bm_list",
      "title": "Render all pages of a pdf into bittermelon pixmap objects",
      "topics": [
        "pdf_render_bm_list"
      ]
    },
    {
      "page": "pdf_render_bm_pixmap",
      "title": "Render a pdf page into a bittermelon pixmap object",
      "topics": [
        "pdf_render_bm_pixmap"
      ]
    },
    {
      "page": "pdf_render_raster",
      "title": "Render a pdf page into a raster object",
      "topics": [
        "pdf_render_raster"
      ]
    },
    {
      "page": "pdf_rep",
      "title": "Repeat pages of a pdf",
      "topics": [
        "pdf_rep"
      ]
    },
    {
      "page": "pdf_rm_crosshairs",
      "title": "Remove crosshairs",
      "topics": [
        "pdf_rm_crosshairs"
      ]
    },
    {
      "page": "pdf_scale",
      "title": "Scale pdf contents centered within the page",
      "topics": [
        "pdf_scale"
      ]
    },
    {
      "page": "xmpdf_wrappers",
      "title": "Wrappers around 'xmpdf' functions",
      "topics": [
        "pdf_set_bookmarks",
        "pdf_set_docinfo",
        "pdf_set_xmp"
      ]
    },
    {
      "page": "pdf_width",
      "title": "Get dimensions of pdf pages",
      "topics": [
        "pdf_height",
        "pdf_width"
      ]
    },
    {
      "page": "zip_extract_bm_pixmap",
      "title": "Extract/render an image from a zipfile into a bittermelon pixmap object",
      "topics": [
        "zip_extract_bm_pixmap"
      ]
    }
  ],
  "_readme": "https://github.com/trevorld/pnpmisc/raw/HEAD/README.md",
  "_rundeps": [
    "askpass",
    "curl",
    "pdftools",
    "qpdf",
    "Rcpp",
    "rlang",
    "sys"
  ],
  "_score": 3.130333768495006,
  "_indexed": true,
  "_nocasepkg": "pnpmisc",
  "_universes": [
    "trevorld"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.2.0-21",
      "date": "2026-05-11T06:40:14.000Z",
      "distro": "noble",
      "commit": "a6e959d5bd2e03e8d473f633c7ec5698f38f970a",
      "fileid": "03a2853aaaa034f43b5d90797ed0d80c5f66111fc2cd3a0d16b7324c7c7b7e04",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/trevorld/actions/runs/25654301809"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "0.2.0-21",
      "date": "2026-05-11T06:39:55.000Z",
      "distro": "noble",
      "commit": "a6e959d5bd2e03e8d473f633c7ec5698f38f970a",
      "fileid": "463fbb5ffe8e2ec3fd5cdcc6250b62fc6912c0987c70495b48640e90d7d95a4e",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/trevorld/actions/runs/25654301809"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.2.0-21",
      "date": "2026-05-11T06:40:35.000Z",
      "commit": "a6e959d5bd2e03e8d473f633c7ec5698f38f970a",
      "fileid": "df7aa405a5c75bc15b067f20025aeeca9032cdab1b25d0ff3a4230c6c6e20209",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/trevorld/actions/runs/25654301809"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "0.2.0-21",
      "date": "2026-05-11T06:39:34.000Z",
      "commit": "a6e959d5bd2e03e8d473f633c7ec5698f38f970a",
      "fileid": "a8098d3d29df6d81e8cde1e87a68325a7f9971bceeb364e387f8cdc01e8f2d39",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/trevorld/actions/runs/25654301809"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.2.0-21",
      "date": "2026-05-11T06:39:31.000Z",
      "commit": "a6e959d5bd2e03e8d473f633c7ec5698f38f970a",
      "fileid": "2c3d01f83af55791e1f91158df501698d24d5cd0ca368fb16ee39cddd703a33a",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/trevorld/actions/runs/25654301809"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.2.0-21",
      "date": "2026-05-11T06:39:16.000Z",
      "commit": "a6e959d5bd2e03e8d473f633c7ec5698f38f970a",
      "fileid": "f3d8445b6cc3a79fb818997a2a8afcf06bcf95344c4ce3c4ee5f3ce6bf75474e",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/trevorld/actions/runs/25654301809"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "0.2.0-21",
      "date": "2026-05-11T06:39:41.000Z",
      "commit": "a6e959d5bd2e03e8d473f633c7ec5698f38f970a",
      "fileid": "d38edb372652af4f680fa436ceb2ecac275ad4ca5598e6d86544ab74d1a45ec4",
      "status": "success",
      "check": "OK",
      "buildurl": "https://github.com/r-universe/trevorld/actions/runs/25654301809"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.2.0-21",
      "date": "2026-05-22T11:55:28.000Z",
      "commit": "a6e959d5bd2e03e8d473f633c7ec5698f38f970a",
      "fileid": "04648a468b5e09305860b58c284de81326f02047576f7b66ceff51924cacf406",
      "status": "success",
      "buildurl": "https://github.com/r-universe/trevorld/actions/runs/25654301809"
    }
  ]
}