/** * This method check the Shading entry of the resource dictionary if exists. * * @param context * @param resources * @throws ValidationException */ protected void validateTilingPattern(PreflightContext context, PDResources resources) throws ValidationException { try { for (COSName name : resources.getPatternNames()) { PDAbstractPattern pattern = resources.getPattern(name); if (pattern instanceof PDTilingPattern) { ContextHelper.validateElement(context, pattern, TILING_PATTERN_PROCESS); } } } catch (IOException e) { context.addValidationError(new ValidationError(ERROR_GRAPHIC_INVALID_PATTERN_DEFINITION, e.getMessage(), e)); } }
private static void processResources(PDResources resources) throws IOException { for (COSName name : resources.getXObjectNames()) { PDXObject xobject = resources.getXObject(name); if (xobject instanceof PDFormXObject) { PDFormXObject formXObject = (PDFormXObject) xobject; writeTokensToStream(formXObject.getContentStream(), createTokensWithoutText(formXObject)); processResources(formXObject.getResources()); } } for (COSName name : resources.getPatternNames()) { PDAbstractPattern pattern = resources.getPattern(name); if (pattern instanceof PDTilingPattern) { PDTilingPattern tilingPattern = (PDTilingPattern) pattern; writeTokensToStream(tilingPattern.getContentStream(), createTokensWithoutText(tilingPattern)); processResources(tilingPattern.getResources()); } } }
private static void parseResourcesPatterns(PDResources resources) { for (COSName name : resources.getPatternNames()) { try { PDAbstractPattern pattern = resources.getPattern(name); processPattern(pattern); } catch (IOException e) { LOGGER.error("Can not obtain pattern from resources", e); } } }
private Set<String> parsePatternFromResource(PDResources resources) { if (resources == null || resources.getPatternNames() == null) { return null; } Set<String> patternIDs = new HashSet<>(); for (COSName name : resources.getPatternNames()) { COSDictionary dict = (COSDictionary) resources.getCOSObject().getDictionaryObject(COSName.PATTERN); COSBase base = dict.getItem(name); String id = getId(base, FeatureObjectType.PATTERN); patternIDs.add(id); if (checkIDBeforeProcess(id)) { try { PDAbstractPattern pattern = resources.getPattern(name); parsePattern(pattern, id); } catch (IOException e) { LOGGER.info(e); patternCreationProblem(id, e.getMessage()); } } } return patternIDs; }
/** * This method check the Shading entry of the resource dictionary if exists. * * @param context * @param resources * @throws ValidationException */ protected void validateTilingPattern(PreflightContext context, PDResources resources) throws ValidationException { try { for (COSName name : resources.getPatternNames()) { PDAbstractPattern pattern = resources.getPattern(name); if (pattern instanceof PDTilingPattern) { ContextHelper.validateElement(context, pattern, TILING_PATTERN_PROCESS); } } } catch (IOException e) { context.addValidationError(new ValidationError(ERROR_GRAPHIC_INVALID_PATTERN_DEFINITION, e.getMessage(), e)); } }
/** * This method check the Shading entry of the resource dictionary if exists. * * @param context * @param resources * @throws ValidationException */ protected void validateTilingPattern(PreflightContext context, PDResources resources) throws ValidationException { try { for (COSName name : resources.getPatternNames()) { PDAbstractPattern pattern = resources.getPattern(name); if (pattern instanceof PDTilingPattern) { ContextHelper.validateElement(context, pattern, TILING_PATTERN_PROCESS); } } } catch (IOException e) { context.addValidationError(new ValidationError(ERROR_GRAPHIC_INVALID_PATTERN_DEFINITION, e.getMessage(), e)); } }
private static void processResources(PDResources resources) throws IOException { for (COSName name : resources.getXObjectNames()) { PDXObject xobject = resources.getXObject(name); if (xobject instanceof PDFormXObject) { PDFormXObject formXObject = (PDFormXObject) xobject; writeTokensToStream(formXObject.getContentStream(), createTokensWithoutText(formXObject)); processResources(formXObject.getResources()); } } for (COSName name : resources.getPatternNames()) { PDAbstractPattern pattern = resources.getPattern(name); if (pattern instanceof PDTilingPattern) { PDTilingPattern tilingPattern = (PDTilingPattern) pattern; writeTokensToStream(tilingPattern.getContentStream(), createTokensWithoutText(tilingPattern)); processResources(tilingPattern.getResources()); } } }