나는 pdfbox-1.8.12를 사용하여 XFA를 얻기 위해 PDF에서 내용을 읽는다. 모든 필드 값을 놓치지 않고 대부분의 파일에 대해 XFA를 성공적으로 가져올 수있었습니다.XFA 채워진 필드가 누락 되었습니까?
error.pdf과 같은 일부 파일에서 문제가 발생합니다. 필자는 CIN과 같은 값이없는 필드가 많지만 PDF 뷰어에서 파일을 열면 여우 또는 Acrobat에서 해당 필드를 표시합니다.
public static byte[] getParsableXFAForm(File file) {
if (file == null)
return null;
PDDocument doc;
PDDocumentCatalog catalog;
PDAcroForm acroForm;
PDXFA xfa;
try {
doc = PDDocument.load(file);
catalog = doc.getDocumentCatalog();
acroForm = catalog.getAcroForm();
xfa = acroForm.getXFA();
byte[] xfaBytes = xfa.getBytes();
doc.close();
return xfaBytes;
} catch (IOException e) {
// handle IOException
// happens when the file is corrupt.
System.out.println("IOException");
return null;
}
}
그런 다음 byte []가 String으로 변환됩니다.
This은이 파일의 xfa이며 'U72300DL1996PLC075672'로 검색하면이 파일이 누락됩니다.
모든 파일을 제공하는 normal 파일입니다.
어떤 아이디어? 나는 모든 것을 시도했지만 내 생각에 독자는 그 가치를 볼 수 있기 때문에 나는 또한 할 수 있어야합니다.
편집 : 파일을 다운로드해야하므로 브라우저에서 볼 수 없습니다.
감사합니다. 나는 할 수있는 모든 일을 시도했다. 나는 파싱의 오류라고 생각했다. 대신 파일을 다시 저장하고 파싱했습니다. 다시 한 번 감사드립니다! 건배!! – Mayank