You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ti...@apache.org on 2018/02/21 17:00:03 UTC
svn commit: r1824987 -
/pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/font/PDFontTest.java
Author: tilman
Date: Wed Feb 21 17:00:02 2018
New Revision: 1824987
URL: http://svn.apache.org/viewvc?rev=1824987&view=rev
Log:
PDFBOX-4071: use try-with-resources
Modified:
pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/font/PDFontTest.java
Modified: pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/font/PDFontTest.java
URL: http://svn.apache.org/viewvc/pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/font/PDFontTest.java?rev=1824987&r1=1824986&r2=1824987&view=diff
==============================================================================
--- pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/font/PDFontTest.java (original)
+++ pdfbox/trunk/pdfbox/src/test/java/org/apache/pdfbox/pdmodel/font/PDFontTest.java Wed Feb 21 17:00:02 2018
@@ -185,33 +185,32 @@ public class PDFontTest
private void testPDFBox3826checkFonts(byte[] byteArray, File fontFile) throws IOException
{
- PDDocument doc = PDDocument.load(byteArray);
-
- PDPage page2 = doc.getPage(0);
-
- // F1 = type0 subset
- PDType0Font fontF1 = (PDType0Font) page2.getResources().getFont(COSName.getPDFName("F1"));
- Assert.assertTrue(fontF1.getName().contains("+"));
- Assert.assertTrue(fontFile.length() > fontF1.getFontDescriptor().getFontFile2().toByteArray().length);
-
- // F2 = type0 full embed
- PDType0Font fontF2 = (PDType0Font) page2.getResources().getFont(COSName.getPDFName("F2"));
- Assert.assertFalse(fontF2.getName().contains("+"));
- Assert.assertEquals(fontFile.length(), fontF2.getFontDescriptor().getFontFile2().toByteArray().length);
-
- // F3 = tt full embed
- PDTrueTypeFont fontF3 = (PDTrueTypeFont) page2.getResources().getFont(COSName.getPDFName("F3"));
- Assert.assertFalse(fontF2.getName().contains("+"));
- Assert.assertEquals(fontFile.length(), fontF3.getFontDescriptor().getFontFile2().toByteArray().length);
-
- new PDFRenderer(doc).renderImage(0);
-
- PDFTextStripper stripper = new PDFTextStripper();
- stripper.setLineSeparator("\n");
- String text = stripper.getText(doc);
- Assert.assertEquals("testMultipleFontFileReuse1\ntestMultipleFontFileReuse2\ntestMultipleFontFileReuse3", text.trim());
-
- doc.close();
+ try (PDDocument doc = PDDocument.load(byteArray))
+ {
+ PDPage page2 = doc.getPage(0);
+
+ // F1 = type0 subset
+ PDType0Font fontF1 = (PDType0Font) page2.getResources().getFont(COSName.getPDFName("F1"));
+ Assert.assertTrue(fontF1.getName().contains("+"));
+ Assert.assertTrue(fontFile.length() > fontF1.getFontDescriptor().getFontFile2().toByteArray().length);
+
+ // F2 = type0 full embed
+ PDType0Font fontF2 = (PDType0Font) page2.getResources().getFont(COSName.getPDFName("F2"));
+ Assert.assertFalse(fontF2.getName().contains("+"));
+ Assert.assertEquals(fontFile.length(), fontF2.getFontDescriptor().getFontFile2().toByteArray().length);
+
+ // F3 = tt full embed
+ PDTrueTypeFont fontF3 = (PDTrueTypeFont) page2.getResources().getFont(COSName.getPDFName("F3"));
+ Assert.assertFalse(fontF2.getName().contains("+"));
+ Assert.assertEquals(fontFile.length(), fontF3.getFontDescriptor().getFontFile2().toByteArray().length);
+
+ new PDFRenderer(doc).renderImage(0);
+
+ PDFTextStripper stripper = new PDFTextStripper();
+ stripper.setLineSeparator("\n");
+ String text = stripper.getText(doc);
+ Assert.assertEquals("testMultipleFontFileReuse1\ntestMultipleFontFileReuse2\ntestMultipleFontFileReuse3", text.trim());
+ }
}
private byte[] testPDFBox3826createDoc(TrueTypeFont ttf) throws IOException
@@ -223,27 +222,28 @@ public class PDFontTest
doc.addPage(page);
// type 0 subset embedding
PDFont font = PDType0Font.load(doc, ttf, true);
- PDPageContentStream cs = new PDPageContentStream(doc, page);
- cs.beginText();
- cs.newLineAtOffset(10, 700);
- cs.setFont(font, 10);
- cs.showText("testMultipleFontFileReuse1");
- cs.endText();
- // type 0 full embedding
- font = PDType0Font.load(doc, ttf, false);
- cs.beginText();
- cs.newLineAtOffset(10, 650);
- cs.setFont(font, 10);
- cs.showText("testMultipleFontFileReuse2");
- cs.endText();
- // tt full embedding but only WinAnsiEncoding
- font = PDTrueTypeFont.load(doc, ttf, WinAnsiEncoding.INSTANCE);
- cs.beginText();
- cs.newLineAtOffset(10, 600);
- cs.setFont(font, 10);
- cs.showText("testMultipleFontFileReuse3");
- cs.endText();
- cs.close();
+ try (PDPageContentStream cs = new PDPageContentStream(doc, page))
+ {
+ cs.beginText();
+ cs.newLineAtOffset(10, 700);
+ cs.setFont(font, 10);
+ cs.showText("testMultipleFontFileReuse1");
+ cs.endText();
+ // type 0 full embedding
+ font = PDType0Font.load(doc, ttf, false);
+ cs.beginText();
+ cs.newLineAtOffset(10, 650);
+ cs.setFont(font, 10);
+ cs.showText("testMultipleFontFileReuse2");
+ cs.endText();
+ // tt full embedding but only WinAnsiEncoding
+ font = PDTrueTypeFont.load(doc, ttf, WinAnsiEncoding.INSTANCE);
+ cs.beginText();
+ cs.newLineAtOffset(10, 600);
+ cs.setFont(font, 10);
+ cs.showText("testMultipleFontFileReuse3");
+ cs.endText();
+ }
doc.save(baos);
}