提问人:Steph 提问时间:6/15/2022 更新时间:1/31/2023 访问量:321
忽略 CombinePdf 异常
Ignore a CombinePdf exception
问:
我只想跳过 CombinePdf::P arsingError(不支持可选内容 PDF 文件,并且无法安全地提取其页面。 当我在 begin/rescue 中上传 PDF 文件但它不起作用时,我该怎么办?
begin
FileManager::PdfValidation.new(uploaded_files)
rescue ParsingError => e
end
答:
1赞
gettalong
6/16/2022
#1
如果您查看 combine_pdf 的代码,您会发现可以解析具有可选内容的文件。
此外,README 还指出:
有时,即使可以解析 PDF(即,当 PDF 可选内容存在时),CombinePDF 也会引发异常......我发现最好谨慎行事,尽管对于可选内容 PDF,使用 CombinePDF.load(pdf_file, allow_optional_content: true) 可以避免例外。
你可以试试。
或者,根据您的用例,您可以尝试 pdf-reader(如果您只想从 PDF 中读取某些内容)或 HexaPDF(这是一个功能齐全的 PDF 库;我是HexaPDF的作者)。
1赞
Bruno De Freitas Barros
1/31/2023
#2
试试这个:
CombinePDF.load("your_file.pdf", unsafe: true, allow_optional_content: true)
来源:https://github.com/boazsegev/combine_pdf/issues/28#issuecomment-1376413479
评论
rescue CombinePdf::ParsingError