如何将R语言中的flextable类对象ftmax与ftmin保存为PDF文件(不使用RMarkdown)
不用RMarkdown,把flextable保存成PDF的方法
嘿,我来帮你搞定这个问题!不用RMarkdown的话,有两种实用的方式可以把你的ftmax和ftmin导出成PDF——既可以单独存每个表格,也能把俩表格放进同一个PDF文档里。
方法1:直接用flextable自带工具存单个表格
flextable本身就有个save_as_pdf函数,能直接把单个表格导出成PDF。不过这个功能依赖webshot2包(用来渲染表格样式),所以先得把它装上:
# 先装需要的包(没装过的话) install.packages(c("flextable", "webshot2")) # 加载包 library(flextable) library(webshot2) # 分别保存两个表格为独立PDF save_as_pdf(ftmax, path = "最大偏差表格.pdf") save_as_pdf(ftmin, path = "最小偏差表格.pdf")
执行完这两行,你就能得到两个单独的PDF文件,每个对应一个表格。
方法2:把两个表格合并到同一个PDF里
要是你希望俩表格在同一个PDF里(比如方便查看),可以用officer包先做个Word文档,把表格插进去,再转成PDF。这个方法需要你的系统能处理Word文档(比如装了Microsoft Word或者LibreOffice),或者用doconv包来完成格式转换:
第一步:装包并加载
install.packages(c("flextable", "officer", "doconv")) library(flextable) library(officer) library(doconv)
第二步:制作包含双表格的Word文档
# 创建一个空的Word文档对象 doc <- read_docx() # 插入第一个表格,加个空行分隔,再插分页符(可选,让俩表格各占一页) doc <- body_add_flextable(doc, ftmax) doc <- body_add_par(doc, "") doc <- body_add_break(doc) # 插入第二个表格 doc <- body_add_flextable(doc, ftmin) # 保存成临时Word文件 print(doc, target = "偏差表格合集.docx")
第三步:把Word转成PDF
# 一键转PDF docx_to_pdf("偏差表格合集.docx", target = "偏差表格合集.pdf")
这样你就有一个包含两个表格的PDF文件啦。
小提示
- 用
save_as_pdf如果遇到渲染失败,检查下webshot2是不是装对了,它需要调用无头浏览器来渲染表格样式,要是有问题可以试试重装这个包。 - 用
officer转PDF失败的话,看看你的系统有没有能打开Word的软件,或者确认doconv的依赖配置没问题。
内容的提问来源于stack exchange,提问作者basrobot
相关产品推荐
相关产品推荐

