pridiltal / staplr

PDF Toolkit. :paperclip: :hammer: :wrench: :scissors: :bookmark_tabs: :file_folder::paperclip: :bookmark: :construction: :construction_worker:
https://pridiltal.github.io/staplr/
265 stars 27 forks source link

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

Open mollyic opened 1 year ago

mollyic commented 1 year ago

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!

oganm commented 1 year ago

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')

mollyic commented 1 year ago

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 commented 1 year ago

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

mollyic commented 1 year ago

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)