public virtual void CheckBboxCalculationForType3FontsWithFontMatrix02() { String inputPdf = sourceFolder + "checkBboxCalculationForType3FontsWithFontMatrix02.pdf"; PdfDocument pdfDocument = new PdfDocument(new PdfReader(inputPdf)); GlyphBboxCalculationTest.CharacterPositionEventListener listener = new GlyphBboxCalculationTest.CharacterPositionEventListener (); PdfCanvasProcessor processor = new PdfCanvasProcessor(listener); processor.ProcessPageContent(pdfDocument.GetPage(1)); // font size (36) * |fontMatrix| (1) * glyph width (0.6) = 21.6 NUnit.Framework.Assert.AreEqual(21.6, listener.glyphWith, 1e-5); }
public virtual void CheckAverageBboxCalculationForType3FontsWithFontMatrix01Test() { String inputPdf = sourceFolder + "checkAverageBboxCalculationForType3FontsWithFontMatrix01.pdf"; PdfDocument pdfDocument = new PdfDocument(new PdfReader(inputPdf)); GlyphBboxCalculationTest.CharacterPositionEventListener listener = new GlyphBboxCalculationTest.CharacterPositionEventListener (); PdfCanvasProcessor processor = new PdfCanvasProcessor(listener); processor.ProcessPageContent(pdfDocument.GetPage(1)); NUnit.Framework.Assert.AreEqual(600, listener.firstTextRenderInfo.GetFont().GetFontProgram().GetAvgWidth() , 0.01f); }
public virtual void Type3FontsWithIdentityFontMatrixAndMultiplier() { String inputPdf = sourceFolder + "type3FontsWithIdentityFontMatrixAndMultiplier.pdf"; String outputPdf = destinationFolder + "type3FontsWithIdentityFontMatrixAndMultiplier.pdf"; PdfDocument pdfDocument = new PdfDocument(new PdfReader(inputPdf), new PdfWriter(outputPdf)); GlyphBboxCalculationTest.CharacterPositionEventListener listener = new GlyphBboxCalculationTest.CharacterPositionEventListener (); PdfCanvasProcessor processor = new PdfCanvasProcessor(listener); processor.ProcessPageContent(pdfDocument.GetPage(1)); PdfPage page = pdfDocument.GetPage(1); Rectangle pageSize = page.GetPageSize(); PdfCanvas pdfCanvas = new PdfCanvas(page); pdfCanvas.BeginText().SetFontAndSize(processor.GetGraphicsState().GetFont(), processor.GetGraphicsState(). GetFontSize()).MoveText(pageSize.GetWidth() / 2 - 24, pageSize.GetHeight() / 2).ShowText("A").EndText( ); pdfDocument.Close(); NUnit.Framework.Assert.IsNull(new CompareTool().CompareByContent(outputPdf, sourceFolder + "cmp_type3FontsWithIdentityFontMatrixAndMultiplier.pdf" , destinationFolder, "diff_")); }