{"id":16571928,"url":"https://github.com/hrbrmstr/escpos","last_synced_at":"2025-10-29T01:31:46.511Z","repository":{"id":42468923,"uuid":"476349994","full_name":"hrbrmstr/escpos","owner":"hrbrmstr","description":"R 📦 for printing text, images, and {ggplot2} or {grid} objects to ESC/POS compatible network devices","archived":false,"fork":false,"pushed_at":"2022-07-12T19:41:01.000Z","size":821,"stargazers_count":17,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"batman","last_synced_at":"2025-02-01T21:04:12.160Z","etag":null,"topics":["escpos","escpos-printable-image","escpos-printer","r","rstats","tm-t88v"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hrbrmstr.png","metadata":{"files":{"readme":"README.Rmd","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-03-31T14:47:06.000Z","updated_at":"2022-07-12T17:15:11.000Z","dependencies_parsed_at":"2022-09-21T03:51:22.666Z","dependency_job_id":null,"html_url":"https://github.com/hrbrmstr/escpos","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hrbrmstr%2Fescpos","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hrbrmstr%2Fescpos/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hrbrmstr%2Fescpos/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hrbrmstr%2Fescpos/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hrbrmstr","download_url":"https://codeload.github.com/hrbrmstr/escpos/tar.gz/refs/heads/batman","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":238758145,"owners_count":19525718,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["escpos","escpos-printable-image","escpos-printer","r","rstats","tm-t88v"],"created_at":"2024-10-11T21:25:42.587Z","updated_at":"2025-10-29T01:31:46.122Z","avatar_url":"https://github.com/hrbrmstr.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"---\noutput: rmarkdown::github_document\neditor_options: \n  chunk_output_type: console\n---\n```{r pkg-knitr-opts, include=FALSE}\nhrbrpkghelpr::global_opts()\n```\n\n```{r badges, results='asis', echo=FALSE, cache=FALSE}\nhrbrpkghelpr::stinking_badges()\n```\n\n```{r description, results='asis', echo=FALSE, cache=FALSE}\nhrbrpkghelpr::yank_title_and_description()\n```\n\n## What's Inside The Tin\n\nThe following functions are implemented:\n\n```{r ingredients, results='asis', echo=FALSE, cache=FALSE}\nhrbrpkghelpr::describe_ingredients()\n```\n- `escpos`: Create an `escpos` object for accumulating print commands\n\n## NOTE\n\nI've only tested this on a single, networked EPSON TM-T88V printer.\n\n## Installation\n\n```{r install-ex, eval = FALSE}\nremotes::install_github(\"hrbrmstr/escpos\", ref = \"batman\")\n```\n\n## Usage\n\n```{r lib-ex}\nlibrary(escpos)\n\n# current version\npackageVersion(\"escpos\")\n\n```\n\n```{r ex-01, eval = FALSE}\nlibrary(stringi)\nlibrary(hrbrthemes)\nlibrary(ggplot2)\n\nggplot() +\n  geom_point(\n    data = mtcars,\n    aes(wt, mpg),\n    color = \"red\"\n  ) +\n  labs(\n    title = \"A good title\"\n  ) +\n  theme_ipsum_es(grid=\"XY\") -\u003e gg\n\nepson_ip = \"HOSTNAME_OR_IP_OF_YOUR_PRINTER\"\n\nescpos(epson_ip) |\u003e\n  pos_bold(\"on\") %\u003e%\n  pos_align(\"center\") %\u003e%\n  pos_size(\"2x\") %\u003e%\n  pos_underline(\"2dot\") %\u003e%\n  pos_plaintext(\"This Is A Title\") %\u003e%\n  pos_lf(2) |\u003e\n  pos_underline(\"off\") %\u003e%\n  pos_size(\"normal\") %\u003e%\n  pos_align(\"left\") %\u003e%\n  pos_bold(\"off\") %\u003e%\n  pos_font(\"b\") %\u003e%\n  pos_plaintext(\n    stringi::stri_rand_lipsum(1)\n  ) |\u003e\n  pos_lf(2) |\u003e\n  pos_font(\"a\") %\u003e%\n  pos_plaintext(\n    paste0(capture.output(\n      str(mtcars, width = 40, strict.width = \"cut\")\n    ), collapse = \"\\n\")\n  ) |\u003e\n  pos_lf(2L) |\u003e\n  pos_plot(gg, color = TRUE) %\u003e%\n  pos_lf(2L) |\u003e\n  pos_font(\"c\") %\u003e%\n  pos_plaintext(\n    stringi::stri_rand_lipsum(1, start_lipsum = FALSE)\n  ) |\u003e\n  pos_lf(3) |\u003e\n  pos_cut() %\u003e%\n  pos_print()\n```\n\n![](man/figures/escpos-complex.png)\n\n## escpos Metrics\n\n```{r cloc, echo=FALSE}\ncloc::cloc_pkg_md()\n```\n\n## Code of Conduct\n\nPlease note that this project is released with a Contributor Code of Conduct. \nBy participating in this project you agree to abide by its terms.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhrbrmstr%2Fescpos","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhrbrmstr%2Fescpos","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhrbrmstr%2Fescpos/lists"}