staplr icon indicating copy to clipboard operation
staplr copied to clipboard

Error when using set_fields 'All unnamed arguments must be length 1'

Open mollyic opened this issue 2 years ago • 4 comments

hi there, I have been trying to run the staplr code on Ubuntu 20.04.5 and keep getting an error (All unnamed arguments must be length 1) when trying to use the set_fields function.

The get_fields function seems to work fine, I am using it in R and able to see that the field variable is updated with the new information. The issue is only when the set_fields function is applied.

I installed java using the code provided and installed rJava (install.packages("rJava")):

sudo apt update -y sudo apt install -y openjdk-8-jdk openjdk-8-jre sudo R CMD javareconf

I first installed the package using: install.packages('staplr', dependencies = TRUE)

Uninstalled this version after is produced this error and tried: devtools::install_github("pridiltal/staplr")

However the same issue keeps arising.

As part of my troubleshooting I tried to install pdftools using: sudo apt-get install libpoppler-cpp-dev

I'm at a loss as to what to try next so any insight would be appreciated. Thanks!

mollyic avatar Jan 25 '23 01:01 mollyic

Could you show a reproducible example, ideally with the pdf file included? You can also use the example pdf included if you don't want to share the pdf file. It can be accessed by doing system.file('simpleForm.pdf',package = 'staplr')

oganm avatar Jan 25 '23 03:01 oganm

So I've been trying to get the example working at this stage, which uses the system.file('simpleForm.pdf',package = 'staplr'). So taken from what's available in the README section:

library(staplr) 

pdfFile = system.file('testForm.pdf',package = 'staplr')
fields = get_fields(pdfFile)
fields$TextField1$value = 'this is text'
set_fields(pdfFile, 'newFile.pdf', fields)

mollyic avatar Jan 25 '23 03:01 mollyic

Just saw you were using 'simpleForm.pdf', tried it and still getting the same error.

mollyic avatar Jan 25 '23 03:01 mollyic

For clarity:

library(staplr)

pdfFile = system.file('simpleForm.pdf',package = 'staplr')
fields = get_fields(pdfFile)
fields$TextField$value = 'this is text'
set_fields(pdfFile, 'newFile.pdf', fields)

mollyic avatar Jan 25 '23 03:01 mollyic