public void CanWriteSinglePageMixedRenderingMode() { var builder = new PdfDocumentBuilder(); PdfPageBuilder page = builder.AddPage(PageSize.A4); PdfDocumentBuilder.AddedFont font = builder.AddStandard14Font(Standard14Font.Helvetica); page.AddText("Hello World!", 12, new PdfPoint(25, 520), font); page.SetTextRenderingMode(TextRenderingMode.Neither); page.AddText("Invisible!", 12, new PdfPoint(25, 500), font); page.SetTextRenderingMode(TextRenderingMode.Fill); page.AddText("Filled again!", 12, new PdfPoint(25, 480), font); var b = builder.Build(); WriteFile(nameof(CanWriteSinglePageMixedRenderingMode), b); using (var document = PdfDocument.Open(b)) { var page1 = document.GetPage(1); Assert.Equal(new[] { "Hello", "World!", "Invisible!", "Filled", "again!" }, page1.GetWords().Select(x => x.Text)); } }
private void writePDFOutput() { PdfPageBuilder page = builder.AddPage(PageSize.A4); // Fonts must be registered with the document builder prior to use to prevent duplication. PdfDocumentBuilder.AddedFont font = builder.AddStandard14Font(Standard14Font.Helvetica); //setting starting poin to write from. PdfPoint point = new PdfPoint(25, 700); //page.AddText(TreatedText, 12, point, font); TreatedText = TreatedText.Replace(":", "."); TreatedTextArray = TreatedText.Split(". "); page.AddText($"This is a Placeholder! {TreatedTextArray[0]} This is a placeholder.", 12, point, font); point.MoveY(14); //for (int line = 0; line < TreatedTextArray.Length; line++) //{ // try { page.AddText(TreatedTextArray[line], 12, point, font); } // catch (InvalidOperationException) // { // } // point.MoveY(14); //} byte[] documentBytes = builder.Build(); File.WriteAllBytes(_outputPath + _myFileType, documentBytes); }
private void AddMarker(PdfPageBuilder page, int markerIndex, PdfPoint bottomPoint, double width, double height) { if (markerIndex >= m_Markers.Count) { return; } byte[] marker = m_Markers[markerIndex]; page.AddPng(marker, new PdfRectangle(bottomPoint.X, bottomPoint.Y, bottomPoint.X + width, bottomPoint.Y + height)); page.DrawRectangle(bottomPoint, (decimal)width, (decimal)height); }
public void AddPage() { if (EmptyPage) { //Prevents blank first page if (pageBuilder is not null) { builder.AddPage(PageSize.A4); } } pageBuilder = builder.AddPage(PageSize.A4); cardCount = 0; }
public void CanWriteSinglePageStandard14FontHelloWorld() { var builder = new PdfDocumentBuilder(); PdfPageBuilder page = builder.AddPage(PageSize.A4); PdfDocumentBuilder.AddedFont font = builder.AddStandard14Font(Standard14Font.Helvetica); page.AddText("Hello World!", 12, new PdfPoint(25, 520), font); var b = builder.Build(); WriteFile(nameof(CanWriteSinglePageStandard14FontHelloWorld), b); using (var document = PdfDocument.Open(b)) { var page1 = document.GetPage(1); Assert.Equal(new[] { "Hello", "World!" }, page1.GetWords().Select(x => x.Text)); } }
public void Generate(string pdfFileName) { //Set up the page PdfDocumentBuilder builder = new PdfDocumentBuilder(); int pageCount = CalculatePageCount(m_Markers.Count); // page sizes in Millimeters // 210 wide, 279 high // 10mm page margins // 5mm marker margins // marker sizes // 100mm wide 120mm high // Images should be 1182 x 1418 px for (int i = 0; i < pageCount; i++) { PdfPageBuilder page = builder.AddPage(MillimeterToPoint(210), MillimeterToPoint(279)); //Add the images and border double halfWidth = (page.PageSize.Width / 2); double halfHeight = page.PageSize.Height / 2; double pageMargin = MillimeterToPoint(5); double markerMargin = MillimeterToPoint(2); double markerWidth = MillimeterToPoint(100); double markerHeight = MillimeterToPoint(120); int index = i * 4; AddMarker(page, index, new PdfPoint(pageMargin, halfHeight + markerMargin), markerWidth, markerHeight); AddMarker(page, index + 1, new PdfPoint(halfWidth + markerMargin, halfHeight + markerMargin), markerWidth, markerHeight); AddMarker(page, index + 2, new PdfPoint(pageMargin, pageMargin), markerWidth, markerHeight); AddMarker(page, index + 3, new PdfPoint(halfWidth + markerMargin, pageMargin), markerWidth, markerHeight); } //Export the document byte[] documentBytes = builder.Build(); File.WriteAllBytes(pdfFileName, documentBytes); }