-2

为什么“officer”包中的 body_add_docx 方法不起作用?我在哪里犯错了?

library(officer)
library(magrittr)

read_docx(path = "/home/user/page1.docx") %>% # load page1.docx as base document
  body_add_break() %>% # add page break
  body_add_docx(src="/home/user/page2.docx") %>% #FIXME: This method doesn't work
  print(target = "/home/user/out.docx") # out.docx conteins only page1.docx !?
4

2 回答 2

1

下面的代码仅适用于 Windows、MS Word 并且仅适用于没有分页符。

对于 Linux、LibreOffice、google 文档,它不起作用。

library(officer)
library(magrittr)

read_docx(path = "/home/user/page1.docx") %>%
  # body_add_break() %>% # with page break it doesn't work
  body_add_docx(src="/home/user/page2.docx") %>% # only for Widows and MS Word
  print(target = "/home/user/out.docx") 
于 2018-06-28T17:56:37.313 回答
-1

该功能body_add_docx正在使用 MS Word 功能。编辑文档时,文件的内容会复制到主文档中,但只有在 Word 编辑文档时才会发生这种情况。LibreOffice 和 gdoc 可能没有实现此功能(至少我不知道它们)。

以下脚本仅在使用 Word 编辑时生成预期文档:

library(officer)
library(magrittr)

read_docx() %>% 
  body_add_par("hello world 1", style = "Normal") %>% 
  print(target = "doc1.docx")
read_docx() %>% 
  body_add_par("hello world 2", style = "Normal") %>% 
  print(target = "doc2.docx")


read_docx(path = "doc1.docx") %>%
  body_add_break() %>% 
  body_add_docx(src="doc2.docx") %>%
  print(target = "out.docx") 

在此处输入图像描述

于 2018-06-28T20:45:15.343 回答