我正在尝试使用gem combine_pdf
以便在我的应用程序中组合大量PDF。它们位于assets/forms/packages/1.pdf 2.pdf 3.pdf
。
我正在尝试遵循gem的指南,但代码会产生错误:
@pdfForms = CombinePDF.new
@pdfForms << CombinePDF.new('assets/forms/packages/1.pdf')
我收到运行时错误:
root is unknown - cannot determine if file is Encrypted
非常感谢任何帮助,或合并pdfs的另一种方式。宝石pdf-merge
由于其依赖rjb
而失败了我的应用程序。
谢谢!
尝试使用打开文件
File.open( “资产/表格/包/次数1.pdf”)
如果这不起作用,那么您的文件路径是错误的。如果此pdf文件位于应用程序的app / assets文件夹中,则可以使用以下命令访问它:
file_path = Rails.root.join("app", "assets", "forms", "packages","1.pdf")
File.open(file_path)
尝试使用CombinePDF.load
而不是CombinePDF.new
。
new
将尝试加载文件并解析字符串 - 因此您不会看到文件加载异常。
可能是文件路径错误,CombinePDF正在尝试解析'assets / forms / packages / 1.pdf',就像它是PDF文件的内容一样。
您的代码应如下所示:
@pdfForms = CombinePDF.new
@pdfForms << CombinePDF.load('assets/forms/packages/1.pdf')