使用ItextSharp在PDF中添加“ **第1页”

时间:2019-05-24 13:47:57

标签: c# itext

这是我的代码有效,但只显示数字。公司需要一个标准,他们需要类似“第1页,第1页”,“第2页,第1页”之类的东西,直到到达最后一个数字为止,我似乎缺少了一些我知道的东西,我只需要一些在这里警惕

我的代码看起来像这样

using System;
using System.Collections.Generic;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using iTextSharp;
using iTextSharp.text;
using iTextSharp.text.pdf;
using Font = iTextSharp.text.Font;

namespace ConsoleApp1
{
    class Program
    {
        public static void AddPageNumber(string fileIn, string fileOut)
        {
            byte[] bytes = File.ReadAllBytes(fileIn);
            Font blackFont = FontFactory.GetFont("Arial", 12, iTextSharp.text.Font.NORMAL, BaseColor.BLACK);
            using (MemoryStream stream = new MemoryStream())
            {
                PdfReader reader = new PdfReader(bytes);
                using (PdfStamper stamper = new PdfStamper(reader, stream))
                {
                    int pages = reader.NumberOfPages;
                    for (int i = 1; i <= pages; i++)
                    {
                        ColumnText.ShowTextAligned(stamper.GetUnderContent(i), Element.ALIGN_RIGHT, new Phrase(i.ToString(), blackFont), 568f, 15f, 0);
                    }
                }
                bytes = stream.ToArray();
            }
            File.WriteAllBytes(fileOut, bytes);
        }
        static void Main(string[] args)
        {
            string inputPdfString = @"C:\Users\***\Desktop\Doc1.pdf";
            string outputResultString = @"C:\Users\***\Desktop\Doc2Out.pdf";
            AddPageNumber(inputPdfString,outputResultString);
            Console.WriteLine("Finished!");
            Console.Read();
        }
    }
}

1 个答案:

答案 0 :(得分:0)

所以我现在修复了这个问题,如果有人需要,这里是源代码。

std::vector<Animal*>