使用officer将图像添加到文本框
我正在考虑使用使用officer将图像添加到文本框,r,officer,R,Officer,我正在考虑使用officer包将图像添加到word文档中。word文档模板如下所示: 这些都是文本框,我可以替换所有文本,如学生姓名、注册号等,但不知道如何在名为图片的文本框中添加图像。这就是我尝试过的: my_doc <- read_docx('templates/form_101.docx') %>% body_replace_all_text('Coursename', 'NTCC 01') %>% body_replace_all_text('XXX',
officer
包将图像添加到word文档中。word文档模板如下所示:
这些都是文本框,我可以替换所有文本,如学生姓名、注册号等,但不知道如何在名为图片的文本框中添加图像。这就是我尝试过的:
my_doc <- read_docx('templates/form_101.docx') %>%
body_replace_all_text('Coursename', 'NTCC 01') %>%
body_replace_all_text('XXX', 'III') %>%
body_replace_all_text('FromDate', '26 Oct') %>%
body_replace_all_text('ToDate', '02 Nov 20') %>%
body_replace_all_text('StudentName', 'Dhiraj Khanna') %>%
body_replace_all_text('12345', '51511-W') %>%
body_replace_all_text('ABC', 'A') %>%
cursor_reach('picture') %>%
# cursor_reach('picture') %>%
# body_remove()
# body_bookmark('picture') %>%
# body_replace_img_at_bkm('picture',
# value = external_img(src = 'data/images/pic1.png',
# width = .2, height = .2))
body_add_img(src = 'data/images/pic1.png', width = .2, height = .2,
pos = 'on')
print(my_doc, target = 'templates/output.docx')
my_doc%
正文替换所有正文('Coursename','NTCC 01')%>%
正文替换所有正文('XXX','III')%>%
正文替换所有正文('FromDate','10月26日')%>%
正文替换全部正文('ToDate','02 Nov 20')%>%
正文替换全部正文('StudentName','Dhiraj Khanna')%>%
正文替换所有正文('12345','51511-W')%>%
正文替换全部正文('ABC','A')%>%
光标到达('图片')%>%
#光标到达('图片')%>%
#主体_移除()
#正文书签('图片')%>%
#车身更换(图片),
#value=external_img(src='data/images/pic1.png',
#宽度=.2,高度=.2)
body_add_img(src='data/images/pic1.png',width=.2,height=.2,
pos=‘开’)
打印(我的文档,目标='templates/output.docx')
这些方法(包括被注释掉的方法)都没有给我期望的结果。那么,如何在文本框图片中插入图像呢
该模板可用我尝试了一下,但无法使其工作(仅在此处分享我的发现,因为它们太长,无法发表评论,可能会帮助您)
我的实际结论是,这可能根本不起作用,官员
方案不支持这一点
在您共享的示例中,我手动添加了“图片”,因为它在您的屏幕截图中(但在word示例中缺失)。但即使这样简化(更容易设置光标),它也不起作用
我尝试了几种组合,包括body\u add\u img
,slip\u in\u img
,body\u replace\u img\u at\u bkm
,body\u add.external\u img
,body\u replace\u text\u in\u bkm
与光标到达('picture'),,光标向前移动
,向后移动。(以及其他一些相当粗糙的努力)
它要么什么都没做,要么就是没有把图像放进文本框
设置光标似乎有效。一般来说,添加图像也不是问题。用文本框中的另一个文本替换文本没有问题。但是在右边这个特定的文本框中添加一个图像似乎是不可能的
当我将光标放在文本框中并尝试在其中添加图像时,无论我尝试了什么,它总是在文本框之前或之后添加。更改模板时,它会起作用。你需要
在需要图像的位置创建一个新的文本字段
使用位置“与文本对齐”将图像放在文本字段中
在图像上放置书签(在我的示例中称为“图片”)
我上传了一个经过正确修改的文件
然后,您可以使用函数body\u replace\u img\u at\u bkm()
,如下所示:
library(officer)
library(magrittr)
my_doc <- read_docx('form_101.docx')
my_doc %>%
body_replace_img_at_bkm("picture",
external_img("im02.png", width = .9, height = .9)) %>%
print("new_form.docx")
图书馆(官员)
图书馆(magrittr)
我的医生%
车身更换(图片),
外部_img(“im02.png”,宽度=.9,高度=.9))%>%
打印(“new_form.docx”)
要将模板文件放在我们可以访问的地方吗?我会看看我能做些什么。@BrianLang谢谢,我已经在您提供的模板中添加了一个指向模板文件的链接,我在框中找不到“图片”文本:它似乎是空的。我自己添加了“图片”,并尝试了一下。(因为这样设置光标更容易)。尽管如此,我还是不可能做到这一点。。。到处都有图片…只是在我尝试后没有出现在文本框xD中,我现在很想知道,是否有人真的能够运行它:)(或者如果它只是不受支持)是否有可能更改模板?我想你可以添加一个虚拟图像而不是文本框,然后使用body\u replace\u img\u at_bkm
。谢谢你的尝试。这正是我也尝试过的。我确实对body\u replace\u img\u at_bkm抱有希望,但您是否尝试过使用“body\u replace\u img\u at_bkm”取得成功?也许这是我另一次尝试的起点。我个人尝试的所有“body_replace_img_at_bkm”组合看起来都不太有希望。与我的其他尝试相比,结果的唯一区别是,有时文本框完全消失。看起来很完美。只有一个问题。如何在图像上放置书签?这是用文字写的吗?好的,我知道了。非常感谢!太好了!:)供日后参考:需要在word中安装书架;单击图片并在“插入”功能区中选择“书签”。