Skip to content

Commit 08135fc

Browse files
yulian-gaponenkoitext-teamcity
authored andcommitted
Add new test for append mode on documents with full compression
DEVSIX-1428 Autoported commit. Original commit hash: [2ab73bc4d]
1 parent 82445ac commit 08135fc

File tree

4 files changed

+27
-1
lines changed

4 files changed

+27
-1
lines changed

itext.tests/itext.kernel.tests/itext/kernel/pdf/PdfDocumentTest.cs

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ source product.
4242
*/
4343
using System;
4444
using System.IO;
45+
using System.Text;
4546
using iText.IO.Image;
4647
using iText.IO.Source;
4748
using iText.Kernel.Pdf.Navigation;
@@ -273,6 +274,31 @@ public virtual void TestFreeReference() {
273274
sourceFolder + "cmp_freeReference.pdf", destinationFolder, "diff_"));
274275
}
275276

277+
/// <exception cref="System.IO.IOException"/>
278+
/// <exception cref="System.Exception"/>
279+
[NUnit.Framework.Test]
280+
public virtual void FullCompressionAppendMode() {
281+
PdfWriter writer = new PdfWriter(destinationFolder + "fullCompressionAppendMode.pdf", new WriterProperties
282+
().SetFullCompressionMode(true).SetCompressionLevel(CompressionConstants.NO_COMPRESSION));
283+
PdfDocument pdfDocument = new PdfDocument(new PdfReader(sourceFolder + "fullCompressionDoc.pdf"), writer,
284+
new StampingProperties().UseAppendMode());
285+
PdfPage page = pdfDocument.GetPage(1);
286+
PdfStream contentStream = new PdfStream();
287+
String contentStr = iText.IO.Util.JavaUtil.GetStringForBytes(pdfDocument.GetPage(1).GetFirstContentStream(
288+
).GetBytes(), Encoding.ASCII);
289+
contentStream.SetData(contentStr.Replace("/F1 16", "/F1 24").GetBytes(Encoding.ASCII));
290+
page.GetPdfObject().Put(PdfName.Contents, contentStream);
291+
page.SetModified();
292+
pdfDocument.Close();
293+
NUnit.Framework.Assert.IsNull(new CompareTool().CompareByContent(destinationFolder + "fullCompressionAppendMode.pdf"
294+
, sourceFolder + "cmp_fullCompressionAppendMode.pdf", destinationFolder, "diff_"));
295+
PdfDocument assertDoc = new PdfDocument(new PdfReader(destinationFolder + "fullCompressionAppendMode.pdf")
296+
);
297+
NUnit.Framework.Assert.IsTrue(assertDoc.GetPdfObject(9).IsStream());
298+
NUnit.Framework.Assert.AreEqual(1, ((PdfDictionary)assertDoc.GetPdfObject(9)).GetAsNumber(PdfName.N).IntValue
299+
());
300+
}
301+
276302
/// <exception cref="System.IO.IOException"/>
277303
/// <exception cref="System.Exception"/>
278304
[NUnit.Framework.Test]

port-hash

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
f42396e6c27ad4861e909714fe083fdbf730fdfc
1+
2ab73bc4db8078b0c0cd200888737a2b1da99338

0 commit comments

Comments
 (0)