Я хочу добавить штамп в PDF-файл, где файл для штампа сам по себе является PDF-файлом. Вот мой код:Пытаясь добавить штамп PDF с помощью iTextSharp, «Байт-массив не является признанным форматом изображения»
void addImage(string inputPath,string imagePath,string outputPath,int pageNumber)
{
Stream inputImageStream = new FileStream(imagePath, FileMode.Open, FileAccess.Read, FileShare.Read);
PdfReader pdfReader = new PdfReader(inputPath);
PdfStamper pdfStamper = new PdfStamper(pdfReader, new FileStream(outputPath, FileMode.Create));
PdfContentByte pdfContentByte = pdfStamper.GetOverContent(pageNumber);
iTextSharp.text.Image image = iTextSharp.text.Image.GetInstance(inputImageStream);
image.SetAbsolutePosition(100, 100);
pdfContentByte.AddImage(image);
}
void addImageTest()
{
string sourceFile = @"C:\somefolder\source.pdf";
string stampFile = @"C:\somefolder\stamp.pdf";
string destFile = @"C:\somefolder\destination.pdf";
addImage(sourceFile, stampFile, destFile, 1);
return;
}
На призыв к GetInstance()
, я получаю это исключение:
The byte array is not a recognized imageformat.
Обновление: глядя на the source code for GetInstance(), я вижу, что он работает с GIF, TIFF, JPEG, PNG , WMF и BMP, но не PDF. Поэтому, мне кажется, мне нужно выяснить, как использовать PDF как образ. Есть идеи?
Вы были * не * смотрели на официальный источник iTextSharp, но на то, что вилки. Официальный источник можно найти по адресу http://github.com/itext/itextsharp. Кроме того, вы используете версию, возраст которой несколько лет. –