c#itext在现有或新的pdf

时间:2018-01-05 08:19:21

标签: c# pdf itext

我想创建一个pdf并添加文本或加载pdf并覆盖加载的pdf。 我对x和y轴有些麻烦,我该如何计算或使用它们。 例如我想把tekst放在离左边(x)50厘米或3厘米处,从上面(Y)处10厘米或(??点)。 我的代码到现在为止,第二件事是,我如何使用内存流加载pdf,更改它并覆盖加载的pdf。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;

namespace CreateChangePdf
{
    class Program
    {
        static void Main(string[] args)
        {
            string fileName = @"c:\data\pdftest.pdf";
            string TextToAdd = @"New text";
            float x_coordinaat = 50;        // how to get e.g. cm or points to determen x and Y position
            float y_coordinaat = 200;       // how to get e.g. cm or points to determen x and Y position

            if (File.Exists(fileName))
            {
                // open a pdf document and add text.
                // overwrite opened file
            }
            else
            {
                Document doc = new Document(PageSize.A4);
                var output = new FileStream(fileName, FileMode.Create);
                var writer = PdfWriter.GetInstance(doc, output);
                doc.Open();

                PdfContentByte cb = writer.DirectContent;
                ColumnText ct = new ColumnText(cb);
                // How do I get e.g. x-axis of 10 point and Y axis of 30 point 
                ct.SetSimpleColumn(new Phrase(new Chunk(TextToAdd, FontFactory.GetFont(FontFactory.COURIER, 12, Font.NORMAL))),
                              x_coordinaat, y_coordinaat, 10, 10, 0, Element.ALIGN_LEFT);
                ct.Go();
                doc.Close();
            }
        }
    }
}

0 个答案:

没有答案