У меня есть файл PDF, и я хочу добавить простое число на каждую страницу.itext добавить текст в pdf увеличить размер файла
Вот мой код:
reader = new PdfReader(fileOut);
Document final = new Document(reader.GetPageSize(1));
PdfWriter w = PdfWriter.GetInstance(final, new FileStream(finalFile, FileMode.Create, FileAccess.Write));
w.SetFullCompression();
final.Open();
for (int i = 1; i <= reader.NumberOfPages; i++)
{
final.NewPage();
PdfContentByte cb = w.DirectContent;
ControlNumberTimes(cb, "C"+i, 560, 725, 270, Element.ALIGN_LEFT);
cb.AddTemplate(w.GetImportedPage(reader, i), 0, 0);
}
final.Close();
reader.Close();
private static void ControlNumberTimes(PdfContentByte cb1, string control, int x, int y, int rotation, int allign)
{
cb1.BeginText();
cb1.SetColorFill(BaseColor.BLACK);
cb1.SetFontAndSize(BaseFont.CreateFont("C:\\windows\\Fonts\\times.ttf", BaseFont.IDENTITY_H, BaseFont.NOT_EMBEDDED), 7.5f);
cb1.ShowTextAligned(allign, control, x, y, rotation);
cb1.EndText();
}
Перед добавлением этого текста, размер PDF файл 3,6 Мб, после того, как размер 11 Мб. Что я делаю неправильно?
Это мой код прямо сейчас:
string finalFile = System.IO.Path.GetDirectoryName(fileOut) + "\\" +
System.IO.Path.GetFileNameWithoutExtension(fileOut) + "_num.pdf";
reader = new PdfReader(fileOut);
using (FileStream fs = new FileStream(finalFile, FileMode.Create, FileAccess.Write, FileShare.None))
{
using (PdfStamper stamper = new PdfStamper(reader, fs))
{
int pageCount = reader.NumberOfPages;
for (int i = 1; i <= pageCount; i++)
{
ColumnText.ShowTextAligned(stamper.GetUnderContent(i), Element.ALIGN_CENTER, new Phrase(
$"C{i}"), 560, 725, 0);
}
}
}
Ф файл я не могу разделить из-за конфиденциальную информацию.
Возможный дубликат [указать номер страницы при создании PDF с помощью iTextSharp] (http://stackoverflow.com/questions/22807292/put-page-number-when-create-pdf-with-itextsharp) –
* Файл в формате pdf Я не могу поделиться конфиденциальной информацией. * - Жаль, потому что код на первый взгляд выглядит нормально, поэтому, скорее всего, ваша проблема связана с некоторой особенностью этого файла. – mkl
Я пробовал другие pdf-файлы, и размер возвращаемого файла теперь одобрен. Я думаю, что проблема была в исходном файле ввода pdf. Огромное спасибо за помощь. – Razvan