如何解决使用官员将图像添加到文本框中
我正在考虑使用officer
包将图像添加到Word文档中。 Word文档模板如下所示:
这些都是文本框,我可以替换所有文本,例如StudentName,注册号等,但是不知道如何在名为picture
的文本框中添加图像。这是我尝试过的:
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')
这些方法(包括注释掉的方法)都没有给我想要的结果。那么,如何在文本框picture
中插入图片。
模板可用here
解决方法
当您更改模板时,它可以工作。您需要
- 在需要图像的位置创建一个新的文本字段
- 使用“与文本一致”的位置将图像放在内部
- 在图像上放置一个书签(在我的示例中为“图片”)
我已经上传了正确更改的文件here。
然后可以按以下方式使用函数body_replace_img_at_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")
,
我尝试了一下,但是没用(只是在这里分享我的发现,因为他们发表评论的时间太长了,也许对您有帮助)
我的实际结论是,这可能根本不起作用,officer
软件包也不支持。
在您共享的示例中,我手动添加了“图片”,因为它在屏幕截图中(但在单词示例中缺失)。但是,即使进行了这种简化(更易于设置光标),它仍然无法正常工作。
我尝试了body_add_img
,slip_in_img
,body_replace_img_at_bkm
,body_add.external_img
,body_replace_text_at_bkm
和cursor_reach('picture')
,{{1}的几种组合},cursor_forward
个电话。 (以及其他一些粗暴的努力)
它什么都不做,或者大多数情况下只是没有将图像放在文本框中。
设置光标似乎可行。通常,添加图像也不是问题。用文本框中的另一个文本替换文本没有问题。但是,以某种方式将图像添加到右侧的此特定文本框中似乎是不可能的。
当我将光标放在文本框中并尝试添加图像时,无论尝试什么,它总是在文本框之前或之后添加。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。