Package com.itextpdf.pdfua.checkers
Class PdfUA1Checker
- java.lang.Object
-
- com.itextpdf.pdfua.checkers.PdfUA1Checker
-
- All Implemented Interfaces:
IValidationChecker
public class PdfUA1Checker extends java.lang.Object implements IValidationChecker
The class defines the requirements of the PDF/UA-1 standard.The specification implemented by this class is ISO 14289-1
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
PdfUA1Checker.UaCharacterChecker
-
Field Summary
Fields Modifier and Type Field Description private PdfUAValidationContext
context
private HeadingsChecker
headingsChecker
private PdfDocument
pdfDocument
private TagStructureContext
tagStructureContext
private boolean
warnedOnPageFlush
-
Constructor Summary
Constructors Constructor Description PdfUA1Checker(PdfDocument pdfDocument)
Creates PdfUA1Checker instance with PDF document which will be validated against PDF/UA-1 standard.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private void
checkCatalog(PdfCatalog catalog)
private void
checkCrypto(PdfDictionary encryptionDictionary)
protected void
checkFileSpec(PdfDictionary fileSpec)
Verify the conformity of the file specification dictionary.private void
checkFonts(java.util.Collection<PdfFont> fontsInDocument)
protected void
checkMetadata(PdfCatalog catalog)
private void
checkOCGNameAndASKey(PdfDictionary dict)
private void
checkOCProperties(PdfDictionary ocProperties)
private void
checkOnOpeningBeginMarkedContent(java.util.Stack<Tuple2<PdfName,PdfDictionary>> stack, Tuple2<PdfName,PdfDictionary> currentBmc)
private void
checkOnWritingCanvasToContent(java.util.Stack<Tuple2<PdfName,PdfDictionary>> tagStack)
private void
checkPdfObject(PdfObject obj)
This method checks the requirements that must be fulfilled by a COS object in a PDF/UA document.private void
checkStandardRoleMapping(Tuple2<PdfName,PdfDictionary> tag)
private void
checkStructureTreeRoot(PdfStructTreeRoot structTreeRoot)
private void
checkText(java.lang.String str, PdfFont font)
private void
checkViewerPreferences(PdfCatalog catalog)
private boolean
isInsideArtifact(java.util.Stack<Tuple2<PdfName,PdfDictionary>> tagStack)
private boolean
isInsideRealContent(java.util.Stack<Tuple2<PdfName,PdfDictionary>> tagStack)
boolean
isPdfObjectReadyToFlush(PdfObject object)
IsPdfObject
ready to flush.private boolean
isRealContent(Tuple2<PdfName,PdfDictionary> tag)
private PdfMcr
mcrExists(PdfDocument document, int mcid)
void
validate(IValidationContext context)
Validate the providedIValidationContext
.void
warnOnPageFlush()
Logs a warn on page flushing that page flushing is disabled in PDF/UA mode.
-
-
-
Field Detail
-
pdfDocument
private final PdfDocument pdfDocument
-
tagStructureContext
private final TagStructureContext tagStructureContext
-
headingsChecker
private final HeadingsChecker headingsChecker
-
context
private final PdfUAValidationContext context
-
warnedOnPageFlush
private boolean warnedOnPageFlush
-
-
Constructor Detail
-
PdfUA1Checker
public PdfUA1Checker(PdfDocument pdfDocument)
Creates PdfUA1Checker instance with PDF document which will be validated against PDF/UA-1 standard.- Parameters:
pdfDocument
- the document to validate
-
-
Method Detail
-
validate
public void validate(IValidationContext context)
Validate the providedIValidationContext
..- Specified by:
validate
in interfaceIValidationChecker
- Parameters:
context
- theIValidationContext
to validate
-
isPdfObjectReadyToFlush
public boolean isPdfObjectReadyToFlush(PdfObject object)
IsPdfObject
ready to flush..- Specified by:
isPdfObjectReadyToFlush
in interfaceIValidationChecker
- Parameters:
object
- the pdf object to check- Returns:
true
if the object is ready to flush,false
otherwise
-
warnOnPageFlush
public void warnOnPageFlush()
Logs a warn on page flushing that page flushing is disabled in PDF/UA mode.
-
checkFileSpec
protected void checkFileSpec(PdfDictionary fileSpec)
Verify the conformity of the file specification dictionary.- Parameters:
fileSpec
- thePdfDictionary
containing file specification to be checked
-
checkText
private void checkText(java.lang.String str, PdfFont font)
-
checkMetadata
protected void checkMetadata(PdfCatalog catalog)
-
checkViewerPreferences
private void checkViewerPreferences(PdfCatalog catalog)
-
checkOnWritingCanvasToContent
private void checkOnWritingCanvasToContent(java.util.Stack<Tuple2<PdfName,PdfDictionary>> tagStack)
-
checkOnOpeningBeginMarkedContent
private void checkOnOpeningBeginMarkedContent(java.util.Stack<Tuple2<PdfName,PdfDictionary>> stack, Tuple2<PdfName,PdfDictionary> currentBmc)
-
checkStandardRoleMapping
private void checkStandardRoleMapping(Tuple2<PdfName,PdfDictionary> tag)
-
isInsideArtifact
private boolean isInsideArtifact(java.util.Stack<Tuple2<PdfName,PdfDictionary>> tagStack)
-
isInsideRealContent
private boolean isInsideRealContent(java.util.Stack<Tuple2<PdfName,PdfDictionary>> tagStack)
-
isRealContent
private boolean isRealContent(Tuple2<PdfName,PdfDictionary> tag)
-
mcrExists
private PdfMcr mcrExists(PdfDocument document, int mcid)
-
checkCatalog
private void checkCatalog(PdfCatalog catalog)
-
checkStructureTreeRoot
private void checkStructureTreeRoot(PdfStructTreeRoot structTreeRoot)
-
checkOCProperties
private void checkOCProperties(PdfDictionary ocProperties)
-
checkOCGNameAndASKey
private void checkOCGNameAndASKey(PdfDictionary dict)
-
checkFonts
private void checkFonts(java.util.Collection<PdfFont> fontsInDocument)
-
checkCrypto
private void checkCrypto(PdfDictionary encryptionDictionary)
-
checkPdfObject
private void checkPdfObject(PdfObject obj)
This method checks the requirements that must be fulfilled by a COS object in a PDF/UA document.- Parameters:
obj
- the COS object that must be checked
-
-