Skip to content

Commit beeb5bf

Browse files
Rename internal method createXmpMetadata into updateDefaultXmpMetadata
1 parent 2aff7d7 commit beeb5bf

File tree

2 files changed

+57
-57
lines changed

2 files changed

+57
-57
lines changed

kernel/src/main/java/com/itextpdf/kernel/pdf/PdfDocument.java

Lines changed: 56 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -275,62 +275,6 @@ public void setXmpMetadata(XMPMeta xmpMeta) throws XMPException {
275275
setXmpMetadata(xmpMeta, serializeOptions);
276276
}
277277

278-
protected void updateXmpMetadata() {
279-
try {
280-
if (writer.properties.addXmpMetadata) {
281-
setXmpMetadata(createXmpMetadata());
282-
}
283-
} catch (XMPException e) {
284-
Logger logger = LoggerFactory.getLogger(PdfDocument.class);
285-
logger.error(LogMessageConstant.EXCEPTION_WHILE_UPDATING_XMPMETADATA, e);
286-
}
287-
}
288-
289-
protected XMPMeta createXmpMetadata() throws XMPException {
290-
XMPMeta xmpMeta = XMPMetaFactory.parseFromBuffer(getXmpMetadata(true));
291-
PdfDictionary docInfo = info.getPdfObject();
292-
if (docInfo != null) {
293-
PdfName key;
294-
PdfObject obj;
295-
String value;
296-
for (PdfName pdfName : docInfo.keySet()) {
297-
key = pdfName;
298-
obj = docInfo.get(key);
299-
if (obj == null)
300-
continue;
301-
if (obj.getType() != PdfObject.STRING)
302-
continue;
303-
value = ((PdfString) obj).toUnicodeString();
304-
if (PdfName.Title.equals(key)) {
305-
xmpMeta.setLocalizedText(XMPConst.NS_DC, PdfConst.Title, XMPConst.X_DEFAULT, XMPConst.X_DEFAULT, value);
306-
} else if (PdfName.Author.equals(key)) {
307-
xmpMeta.appendArrayItem(XMPConst.NS_DC, PdfConst.Creator, new PropertyOptions(PropertyOptions.ARRAY_ORDERED), value, null);
308-
} else if (PdfName.Subject.equals(key)) {
309-
xmpMeta.setLocalizedText(XMPConst.NS_DC, PdfConst.Description, XMPConst.X_DEFAULT, XMPConst.X_DEFAULT, value);
310-
} else if (PdfName.Keywords.equals(key)) {
311-
for (String v : value.split(",|;")) {
312-
if (v.trim().length() > 0) {
313-
xmpMeta.appendArrayItem(XMPConst.NS_DC, PdfConst.Subject, new PropertyOptions(PropertyOptions.ARRAY), v.trim(), null);
314-
}
315-
}
316-
xmpMeta.setProperty(XMPConst.NS_PDF, PdfConst.Keywords, value);
317-
} else if (PdfName.Creator.equals(key)) {
318-
xmpMeta.setProperty(XMPConst.NS_XMP, PdfConst.CreatorTool, value);
319-
} else if (PdfName.Producer.equals(key)) {
320-
xmpMeta.setProperty(XMPConst.NS_PDF, PdfConst.Producer, value);
321-
} else if (PdfName.CreationDate.equals(key)) {
322-
xmpMeta.setProperty(XMPConst.NS_XMP, PdfConst.CreateDate, PdfDate.getW3CDate(value));
323-
} else if (PdfName.ModDate.equals(key)) {
324-
xmpMeta.setProperty(XMPConst.NS_XMP, PdfConst.ModifyDate, PdfDate.getW3CDate(value));
325-
}
326-
}
327-
}
328-
if (isTagged() && !isXmpMetaHasProperty(xmpMeta, XMPConst.NS_PDFUA_ID, XMPConst.PART)) {
329-
xmpMeta.setPropertyInteger(XMPConst.NS_PDFUA_ID, XMPConst.PART, 1, new PropertyOptions(PropertyOptions.SEPARATE_NODE));
330-
}
331-
return xmpMeta;
332-
}
333-
334278
/**
335279
* Gets XMPMetadata.
336280
*/
@@ -1445,6 +1389,62 @@ protected void open(PdfVersion newPdfVersion) {
14451389
}
14461390
}
14471391

1392+
protected void updateXmpMetadata() {
1393+
try {
1394+
if (writer.properties.addXmpMetadata) {
1395+
setXmpMetadata(updateDefaultXmpMetadata());
1396+
}
1397+
} catch (XMPException e) {
1398+
Logger logger = LoggerFactory.getLogger(PdfDocument.class);
1399+
logger.error(LogMessageConstant.EXCEPTION_WHILE_UPDATING_XMPMETADATA, e);
1400+
}
1401+
}
1402+
1403+
protected XMPMeta updateDefaultXmpMetadata() throws XMPException {
1404+
XMPMeta xmpMeta = XMPMetaFactory.parseFromBuffer(getXmpMetadata(true));
1405+
PdfDictionary docInfo = info.getPdfObject();
1406+
if (docInfo != null) {
1407+
PdfName key;
1408+
PdfObject obj;
1409+
String value;
1410+
for (PdfName pdfName : docInfo.keySet()) {
1411+
key = pdfName;
1412+
obj = docInfo.get(key);
1413+
if (obj == null)
1414+
continue;
1415+
if (obj.getType() != PdfObject.STRING)
1416+
continue;
1417+
value = ((PdfString) obj).toUnicodeString();
1418+
if (PdfName.Title.equals(key)) {
1419+
xmpMeta.setLocalizedText(XMPConst.NS_DC, PdfConst.Title, XMPConst.X_DEFAULT, XMPConst.X_DEFAULT, value);
1420+
} else if (PdfName.Author.equals(key)) {
1421+
xmpMeta.appendArrayItem(XMPConst.NS_DC, PdfConst.Creator, new PropertyOptions(PropertyOptions.ARRAY_ORDERED), value, null);
1422+
} else if (PdfName.Subject.equals(key)) {
1423+
xmpMeta.setLocalizedText(XMPConst.NS_DC, PdfConst.Description, XMPConst.X_DEFAULT, XMPConst.X_DEFAULT, value);
1424+
} else if (PdfName.Keywords.equals(key)) {
1425+
for (String v : value.split(",|;")) {
1426+
if (v.trim().length() > 0) {
1427+
xmpMeta.appendArrayItem(XMPConst.NS_DC, PdfConst.Subject, new PropertyOptions(PropertyOptions.ARRAY), v.trim(), null);
1428+
}
1429+
}
1430+
xmpMeta.setProperty(XMPConst.NS_PDF, PdfConst.Keywords, value);
1431+
} else if (PdfName.Creator.equals(key)) {
1432+
xmpMeta.setProperty(XMPConst.NS_XMP, PdfConst.CreatorTool, value);
1433+
} else if (PdfName.Producer.equals(key)) {
1434+
xmpMeta.setProperty(XMPConst.NS_PDF, PdfConst.Producer, value);
1435+
} else if (PdfName.CreationDate.equals(key)) {
1436+
xmpMeta.setProperty(XMPConst.NS_XMP, PdfConst.CreateDate, PdfDate.getW3CDate(value));
1437+
} else if (PdfName.ModDate.equals(key)) {
1438+
xmpMeta.setProperty(XMPConst.NS_XMP, PdfConst.ModifyDate, PdfDate.getW3CDate(value));
1439+
}
1440+
}
1441+
}
1442+
if (isTagged() && !isXmpMetaHasProperty(xmpMeta, XMPConst.NS_PDFUA_ID, XMPConst.PART)) {
1443+
xmpMeta.setPropertyInteger(XMPConst.NS_PDFUA_ID, XMPConst.PART, 1, new PropertyOptions(PropertyOptions.SEPARATE_NODE));
1444+
}
1445+
return xmpMeta;
1446+
}
1447+
14481448
/**
14491449
* List all newly added or loaded fonts
14501450
*

pdfa/src/main/java/com/itextpdf/pdfa/PdfADocument.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -208,7 +208,7 @@ public PdfAConformanceLevel getConformanceLevel() {
208208
@Override
209209
protected void updateXmpMetadata() {
210210
try {
211-
XMPMeta xmpMeta = createXmpMetadata();
211+
XMPMeta xmpMeta = updateDefaultXmpMetadata();
212212
xmpMeta.setProperty(XMPConst.NS_PDFA_ID, XMPConst.PART, checker.getConformanceLevel().getPart());
213213
xmpMeta.setProperty(XMPConst.NS_PDFA_ID, XMPConst.CONFORMANCE, checker.getConformanceLevel().getConformance());
214214
if (this.isTagged()) {

0 commit comments

Comments
 (0)