use of org.apache.pdfbox.preflight.graphic.ColorSpaceHelperFactory in project pdfbox by apache.
the class PreflightConfiguration method createPdfA1BConfiguration.
public static PreflightConfiguration createPdfA1BConfiguration() {
PreflightConfiguration configuration = new PreflightConfiguration();
configuration.replaceProcess(CATALOG_PROCESS, CatalogValidationProcess.class);
configuration.replaceProcess(FILE_SPECIF_PROCESS, FileSpecificationValidationProcess.class);
configuration.replaceProcess(TRAILER_PROCESS, TrailerValidationProcess.class);
configuration.replaceProcess(XREF_PROCESS, XRefValidationProcess.class);
configuration.replaceProcess(ACRO_FORM_PROCESS, AcroFormValidationProcess.class);
configuration.replaceProcess(BOOKMARK_PROCESS, BookmarkValidationProcess.class);
configuration.replaceProcess(PAGES_TREE_PROCESS, PageTreeValidationProcess.class);
configuration.replaceProcess(META_DATA_PROCESS, MetadataValidationProcess.class);
configuration.replaceProcess(STREAM_PROCESS, StreamValidationProcess.class);
configuration.replacePageProcess(PAGE_PROCESS, SinglePageValidationProcess.class);
configuration.replacePageProcess(EXTGSTATE_PROCESS, ExtGStateValidationProcess.class);
configuration.replacePageProcess(SHADING_PATTERN_PROCESS, ShadingPatternValidationProcess.class);
configuration.replacePageProcess(GRAPHIC_PROCESS, GraphicObjectPageValidationProcess.class);
configuration.replacePageProcess(TILING_PATTERN_PROCESS, TilingPatternValidationProcess.class);
configuration.replacePageProcess(RESOURCES_PROCESS, ResourcesValidationProcess.class);
configuration.replacePageProcess(FONT_PROCESS, FontValidationProcess.class);
configuration.replacePageProcess(ACTIONS_PROCESS, ActionsValidationProcess.class);
configuration.replacePageProcess(ANNOTATIONS_PROCESS, AnnotationValidationProcess.class);
configuration.replacePageProcess(DESTINATION_PROCESS, DestinationValidationProcess.class);
configuration.actionFact = new ActionManagerFactory();
configuration.annotFact = new PDFAbAnnotationFactory();
configuration.colorSpaceHelperFact = new ColorSpaceHelperFactory();
return configuration;
}
use of org.apache.pdfbox.preflight.graphic.ColorSpaceHelperFactory in project pdfbox by apache.
the class ShadingPatternValidationProcess method checkColorSpace.
/**
* Checks if the ColorSapce entry is consistent which rules of the PDF Reference and the ISO 190005-1:2005
* Specification.
*
* This method is called by the validate method.
*
* @param context the preflight context.
* @param page the page to check.
* @param shadingRes the Shading pattern to check.
* @throws ValidationException
*/
protected void checkColorSpace(PreflightContext context, PDPage page, PDShading shadingRes) throws ValidationException {
try {
PDColorSpace pColorSpace = shadingRes.getColorSpace();
PreflightConfiguration config = context.getConfig();
ColorSpaceHelperFactory csFact = config.getColorSpaceHelperFact();
ColorSpaceHelper csh = csFact.getColorSpaceHelper(context, pColorSpace, ColorSpaceRestriction.NO_PATTERN);
csh.validate();
} catch (IOException e) {
LOGGER.debug("Unable to get the color space", e);
context.addValidationError(new ValidationError(ERROR_GRAPHIC_INVALID_UNKNOWN_COLOR_SPACE, e.getMessage()));
}
}
use of org.apache.pdfbox.preflight.graphic.ColorSpaceHelperFactory in project pdfbox by apache.
the class SinglePageValidationProcess method validateColorSpaces.
/**
* Check that all ColorSpace present in the Resource dictionary are conforming to the ISO 19005:2005-1
* specification.
*
* @param context the preflight context.
* @param page the page to check.
*/
protected void validateColorSpaces(PreflightContext context, PDPage page) {
PDResources resources = page.getResources();
if (resources != null) {
PreflightConfiguration config = context.getConfig();
ColorSpaceHelperFactory colorSpaceFactory = config.getColorSpaceHelperFact();
for (COSName name : resources.getColorSpaceNames()) {
try {
PDColorSpace pdCS = resources.getColorSpace(name);
ColorSpaceHelper csHelper = colorSpaceFactory.getColorSpaceHelper(context, pdCS, ColorSpaceRestriction.NO_RESTRICTION);
csHelper.validate();
} catch (IOException e) {
// fixme: this code was previously in PDResources
LOGGER.debug("Unable to create colorspace", e);
}
}
}
}
use of org.apache.pdfbox.preflight.graphic.ColorSpaceHelperFactory in project pdfbox by apache.
the class PreflightStreamEngine method checkSetColorSpaceOperators.
/**
* This method validates if the ColorSpace used as operand is consistent with
* the color space defined in OutputIntent dictionaries.
*
* @param operator
* @param arguments
* @throws IOException
*/
protected void checkSetColorSpaceOperators(Operator operator, List<COSBase> arguments) throws IOException {
if (!("CS".equals(operator.getName()) || "cs".equals(operator.getName()))) {
return;
}
String colorSpaceName;
if (arguments.get(0) instanceof COSString) {
colorSpaceName = (arguments.get(0)).toString();
} else if (arguments.get(0) instanceof COSName) {
colorSpaceName = ((COSName) arguments.get(0)).getName();
} else {
registerError("The operand " + arguments.get(0) + " for colorSpace operator " + operator.getName() + " doesn't have the expected type", ERROR_GRAPHIC_UNEXPECTED_VALUE_FOR_KEY);
return;
}
ColorSpaceHelper csHelper = null;
ColorSpaces cs = null;
try {
cs = ColorSpaces.valueOf(colorSpaceName);
} catch (IllegalArgumentException e) {
/*
* The color space is unknown. Try to access the resources dictionary, the color space can be a reference.
*/
PDColorSpace pdCS = this.getResources().getColorSpace(COSName.getPDFName(colorSpaceName));
if (pdCS != null) {
cs = ColorSpaces.valueOf(pdCS.getName());
PreflightConfiguration cfg = context.getConfig();
ColorSpaceHelperFactory csFact = cfg.getColorSpaceHelperFact();
csHelper = csFact.getColorSpaceHelper(context, pdCS, ColorSpaceRestriction.NO_RESTRICTION);
}
}
if (cs == null) {
registerError("The ColorSpace " + colorSpaceName + " is unknown", ERROR_GRAPHIC_UNEXPECTED_VALUE_FOR_KEY);
return;
}
if (csHelper == null) {
PDColorSpace pdCS = PDColorSpace.create(COSName.getPDFName(colorSpaceName));
PreflightConfiguration cfg = context.getConfig();
ColorSpaceHelperFactory csFact = cfg.getColorSpaceHelperFact();
csHelper = csFact.getColorSpaceHelper(context, pdCS, ColorSpaceRestriction.NO_RESTRICTION);
}
csHelper.validate();
}
use of org.apache.pdfbox.preflight.graphic.ColorSpaceHelperFactory in project pdfbox by apache.
the class PreflightStreamEngine method getColorSpaceHelper.
private ColorSpaceHelper getColorSpaceHelper(PDColorSpace pdCS) {
PreflightConfiguration cfg = context.getConfig();
ColorSpaceHelperFactory csFact = cfg.getColorSpaceHelperFact();
return csFact.getColorSpaceHelper(context, pdCS, ColorSpaceRestriction.ONLY_DEVICE);
}
Aggregations