나는 PDF/C 번호 iText를 가진 1A, 2A 또는 3A를 생성하기 위해 노력하고있어,하지만 난이 문제가 발생 :대체 설명을 그림에 필요한 문서
을 " Alt 항목은/Figure 요소에 대한 대체 설명을 지정해야합니다. " 나는 그것을 아주 잘 작동 B2 또는 B3를 PDF/A B1을 생성하려고하면,하지만 난 수준의 문서를 생성해야합니다
public byte[] GeneratePDFA(byte[] inputPdf) { //System.out.println("PDF to PDF/A"); // step 1: creation of a document-object iTextSharp.text.Document document = new iTextSharp.text.Document(); PdfReader reader = null; MemoryStream ms = new MemoryStream(); try { // step 2: // we create a writer that listens to the document // and directs a PDF-stream to a file PdfAWriter writer = PdfAWriter.GetInstance(document, ms, PdfAConformanceLevel.PDF_A_1A); writer.SetTagged(PdfWriter.markAll); document.AddAuthor("DiY"); document.AddSubject("DiY"); document.AddLanguage("it-IT"); document.AddCreationDate(); writer.CreateXmpMetadata(); //writer.setCompressionLevel(9); // step 3: we open the document document.Open(); PdfContentByte cb = writer.DirectContent; // Holds the PDF data // step 4: reader = new PdfReader(inputPdf); PdfTemplate page; // Get number of pages: int pageCount = reader.NumberOfPages; for (int i = 0; i < pageCount; i++) { document.NewPage(); page = writer.GetImportedPage(reader, i + 1); cb.AddTemplate(page, 0d, 0d); } } catch (DocumentException de) { throw de; } catch (IOException ioe) { throw ioe; } // step 5: we close the document document.Close(); reader.Close(); document.Dispose(); reader.Dispose(); ms.Flush(); return ms.GetBuffer(); }
PS를 :
내 코드는 다음과 같습니다!
감사합니다. Bruno! 대학 프로젝트를위한 것입니다! –