diff --git a/kernel/src/main/java/com/itextpdf/kernel/pdf/PdfResources.java b/kernel/src/main/java/com/itextpdf/kernel/pdf/PdfResources.java index 0ac507bf7e..a87fb9d416 100644 --- a/kernel/src/main/java/com/itextpdf/kernel/pdf/PdfResources.java +++ b/kernel/src/main/java/com/itextpdf/kernel/pdf/PdfResources.java @@ -484,6 +484,8 @@ protected void addResource(PdfObject resource, PdfName resType, PdfName resName) PdfDictionary resourceCategory = getPdfObject().getAsDictionary(resType); if (resourceCategory == null) { getPdfObject().put(resType, resourceCategory = new PdfDictionary()); + } else { + resourceCategory.setModified(); } resourceCategory.put(resName, resource); setModified(); diff --git a/kernel/src/main/java/com/itextpdf/kernel/pdf/PdfXrefTable.java b/kernel/src/main/java/com/itextpdf/kernel/pdf/PdfXrefTable.java index d4cc381299..bb81ddf5cd 100644 --- a/kernel/src/main/java/com/itextpdf/kernel/pdf/PdfXrefTable.java +++ b/kernel/src/main/java/com/itextpdf/kernel/pdf/PdfXrefTable.java @@ -264,6 +264,7 @@ protected void writeXrefTableAndTrailer(PdfDocument document, PdfObject fileId, if (crypto != null) xrefStream.put(PdfName.Encrypt, crypto); xrefStream.put(PdfName.Size, new PdfNumber(this.size())); + sections = createSections(document, false); int offsetSize = getOffsetSize(Math.max(startxref, size())); xrefStream.put(PdfName.W, new PdfArray(