#itext7
#itext7
Вопрос:
У меня есть 2 файла PDF. under — это одностраничный PDF-файл, который должен быть фоном для каждой страницы оригинала… Это не работает
public static byte[] overlay(byte[] original, byte[] under)
{
using (var resultStream = new MemoryStream())
{
var pdfWriter = new PdfWriter(resultStream);
var pdfReader = new PdfReader(new MemoryStream(original));
var pdfDoc = new PdfDocument(pdfReader, pdfWriter);
for (var p = 1; p <= pdfDoc.GetNumberOfPages(); p )
{
var pdfUnder = new PdfDocument(new PdfReader(new MemoryStream(under)));
var pdfUnderPage = pdfUnder.GetFirstPage().CopyAsFormXObject(pdfDoc);
var page = pdfDoc.GetPage(p);
var canvas = new PdfCanvas(page.NewContentStreamBefore(),
page.GetResources(), pdfDoc);
canvas.AddXObjectAt(pdfUnderPage, 0, 0);
pdfUnder.Close();
}
pdfDoc.Close();
return resultStream.ToArray();
}
}
Комментарии:
1. «Это не работает» — что вы имеете в виду под этим? Он не компилируется? Компилируется ли он, но выдает исключение? Разве он не выдает исключение, но результат получается не таким, как ожидалось? С некоторыми подробностями, пожалуйста.
2. Он компилируется, он работает без исключений, но выводит исходный документ без наложения
3. Пожалуйста, поделитесь файлами pdf. Этот код должен работать, если только не PDF-файлы. Не могут быть использованы.