我想创建一个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();
}
}
}
}