У меня есть случай, когда мне нужно глубоко клонировать определенный ресурс (только ColorSpaces), я не хочу глубоко клонировать все ресурсы по нескольким причинам, я хочу поверхностно копировать ресурсы, но только глубокие клоны цветовых пространств, этовозможный?Я пытался глубоко клонировать цветовые пространства, но это не сработало, но у него есть проблемы
Я пытался поверхностно скопировать ресурсы в xobject и глубоко клонировать цветовые пространства, но это не сработало
PDFormXObject xobject = new PDFormXObject(target);
InputStream in = null;
OutputStream os = null;
if (page.hasContents()) {
try {
in = page.getContents();
os = xobject.getStream().createOutputStream(COSName.FLATE_DECODE);
IOUtils.copy(in, os);
} finally {
IOUtils.closeQuietly(in);
IOUtils.closeQuietly(os);
}
xobject.setResources(page.getResources());
ArrayList<PDSeparation> set = new ArrayList<PDSeparation>();
for (COSName colorSpaceName : page.getResources().getColorSpaceNames()) {
PDColor spotColor = page.getResources().getColorSpace(colorSpaceName).getInitialColor();
if (spotColor.getColorSpace() != null && spotColor.getColorSpace() instanceof PDSeparation) {
PDSeparation SeparationColorSpace = (PDSeparation) spotColor.getColorSpace();
COSArray arr = (COSArray) cloneForNewDocument(SeparationColorSpace.getCOSObject());
xobject.getResources().add(new PDSeparation(arr));
}
}
Возможно ли глубокое клонирование цветовых пространств со страницы и поверхностное копирование остальных ресурсов?