摘要

接到一个特别要求,客户想把结果里的png图片全部转化成pdf。刚开始,这边销售想着结果图片不多,打算手动一个一个处理,直到她发现了16差异分组里,每个分组都有个kegg_map的文件夹...

环境与方法

R version 3.6.0 (2019-04-26)
环境包require(stringr)EBimage:install.packages('BiocManager')BiocManager::install('EBImage')

使用代码

    library(EBimage) #读取png包require(stringr) #字符串判断包first_category_name = list.files("all_png") #遍历一级文件内二级文件名dir = paste("all_png/",first_category_name,sep="")#生成二级目录路径n = length(dir)for(i in 1:n){ #循环每个二级目录,寻找png文件sub2_dir = paste(dir[i],"/pathway/kegg_map",sep="") #我这里二级目录是差异分组,每个文件里面都有相同的子目录路径,因此我直接指定路径位置。kegg_map_dir = list.files(sub2_dir) #读取指定路径所有文件名#print(sub2_dir),测试路径书写是否正确o = length(kegg_map_dir) #循环次数等于文件数if(o != 0){ #跳过空文件夹for(k in 1:o){if(str_detect(kegg_map_dir[k],".png")){ #匹配后缀.png文件#print(kegg_map_dir[k]) #输出png文件名PNG_file = paste(sub2_dir,kegg_map_dir[k],sep="/") #打印完整路径#print(PNG_file) #测试路径书写是否正确PDF_file = gsub(".png",".pdf",PNG_file) #生成对应pdf文件名,只需修改后缀pdf(PDF_file) #生成pdf文件img = readImage(PNG_file) #读取png文件display(img, method="raster") #生成图像dev.off() #关闭pdf}}}}

结果展示

文件展示

内容展示


内容基本一致,像素大小我就没有细看了。

总结

这个脚本的灵活性很大,如果你的png在各级目录中都有,那么可以添加for循环,不断往子目录挖。如果只是某些文件夹里有,那么就可以像我那样遍历1级目录后直接指定目标路径进行处理。

2021.06.29【R语言】丨png转pdf批量生成相关推荐

  1. R语言可视化绘制及PDF使用字体参数列表:查看字体列表、可视化绘制图像中的字体参数列表、字体示例并写入pdf

    R语言可视化绘制及PDF使用字体参数列表:查看字体列表.可视化绘制图像中的字体参数列表.字体示例并写入pdf 目录 R语言可视化绘制及PDF使用字体参数列表:查看字体列表.可视化绘制图像中的字体参数列 ...

  2. 三线表是什么?R语言使用table1包绘制(生成)三线表、构建不分层的三线表

    三线表是什么?R语言使用table1包绘制(生成)三线表.构建不分层的三线表 目录

  3. R语言使用table1包绘制(生成)三线表、使用单变量分列构建三线表、编写自定义函数在三线表中添加p值

    R语言使用table1包绘制(生成)三线表.使用单变量分列构建三线表.编写自定义函数在三线表中添加p值 目录

  4. R语言使用table1包绘制(生成)三线表、使用单变量分列构建三线表、设置transpose参数转置三线表、变量作为列,子组(strata)作为行

    R语言使用table1包绘制(生成)三线表.使用单变量分列构建三线表.设置transpose参数转置三线表.变量作为列,子组(strata)作为行 目录

  5. R语言使用table1包绘制(生成)三线表、使用单变量分列构建三线表、自定义overall的标签名称

    R语言使用table1包绘制(生成)三线表.使用单变量分列构建三线表.自定义overall的标签名称 目录

  6. R语言使用table1包绘制(生成)三线表、使用单变量分列构建三线表、为指定变量添加单位信息、自定义overall的标签名称

    R语言使用table1包绘制(生成)三线表.使用单变量分列构建三线表.为指定变量添加单位信息.自定义overall的标签名称 目录

  7. R语言使用table1包绘制(生成)三线表、使用单变量分列构建三线表、编写自定义三线表结构(将因子变量细粒度化重新构建三线图)、为不同的变量显示不同的统计信息

    R语言使用table1包绘制(生成)三线表.使用单变量分列构建三线表.编写自定义三线表结构(将因子变量细粒度化重新构建三线图).为不同的变量显示不同的统计信息 目录

  8. 三线表是什么?R语言使用table1包绘制(生成)三线表、使用单变量分列构建三线表、通过topclass参数自定义三线表表格的显示形式(显示为类似斑马线、并将所有列居中,包括包含行标签的第一列)

    三线表是什么?R语言使用table1包绘制(生成)三线表.使用单变量分列构建三线表.通过topclass参数自定义三线表表格的显示形式(显示为类似斑马线.并将所有列居中,包括包含行标签的第一列) 目录

  9. 三线表是什么?R语言使用table1包绘制(生成)三线表、使用单变量分列构建三线表、编写自定义三线表结构(将因子变量细粒度化重新构建三线图)、编写自定义函数在三线表中添加p值

    三线表是什么?R语言使用table1包绘制(生成)三线表.使用单变量分列构建三线表.编写自定义三线表结构(将因子变量细粒度化重新构建三线图).编写自定义函数在三线表中添加p值 目录

最新文章

  1. 2019.7.9 校内测试题 史密斯数
  2. python3多线程第三方库_Python之多线程爬虫抓取网页图片的示例代码
  3. 122. Leetcode 647. 回文子串 (动态规划-子序列问题)
  4. ALV标准范例Demo汇总
  5. Eclipse控制台Console使用说明
  6. [Usaco2007 Dec]宝石手镯[01背包][水]
  7. .NetCore中EFCore for MySql整理(二)
  8. 自考那些事儿(九):再次学操作系统
  9. php俄语包,俄语资源汇总 - 俄语 | Russian | Pусский - 声同小语种论坛 - Powered by phpwind...
  10. python对电影进行预测评分_TMDb电影数据分析 电影评分预测
  11. mysql驱动5.1_mysql jdbc 驱动 5.1.26 官方最新版
  12. 分享最新win7旗舰版/专业版企业版激活密钥和激活方法哦
  13. python中汉字如何转拼音?(PyPinyin 的基础用法)
  14. 城市区号+mysql_中国城市区号脚本-mysql
  15. 删库跑路?我劝你不要这样。
  16. Java算法之 循序搜寻法
  17. linux断电并重启命令,Linux基本操作:关机 重启
  18. 成都中忻嘉业:提高抖音短视频播放量的三个小技巧
  19. B站下载姿势合集——亲测
  20. Python中ASCII转十六进制、C中BCD转十进制、十六进制学习记录

热门文章

  1. 赋能IT,创新价值——互联网时代企业IT转型实践
  2. 使用ffmpeg的调色板对图片压缩
  3. 基于java基于javaweb的管理系统设计与实现怎样选题思路分享
  4. 斯伦贝谢宣布用债券交换斯伦贝谢控股公司的三种优先票据
  5. 阿里云服务器和 hexo 博客实战
  6. Javascript 检测键盘按键
  7. web文件上传-0x00漏洞
  8. 常见的拖垮中小公司技术团队的10宗罪
  9. java全景图片切割 全景,基于Three.js实现360度全景图片
  10. [日推荐]『与你见字如面』信息时代的一股清流