Я использовал iTextSharp для добавления примечания нижнего колонтитула к существующему pdf. Проблема заключается в том, когда я обращаюсь к файлу pdf и создаю другой файл из его содержимого, ориентация страниц изменяется и содержимое обрезается. код я использовал это:iTextSharp Содержимое PDF-файла для печати вырезано
//using itextsharp
string oldFile = dtroldp + strfn;
if (File.Exists(oldFile))
{
string newFile = strpath + "sys_" + docid + strext;
PdfReader reader = new PdfReader(oldFile);
int numberOfPages = reader.NumberOfPages;
FileStream fs = new FileStream(newFile, FileMode.Create, FileAccess.Write);
Document document = new Document();
// open the writer
PdfWriter writer = PdfWriter.GetInstance(document, fs);
writer.PageEvent = new PDFFooter();
document.Open();
for (int i = 1; i <= numberOfPages; i++)
{
document.SetPageSize(reader.GetPageSizeWithRotation(1));
document.NewPage();
PdfContentByte cb = writer.DirectContent;
//// select the font properties
BaseFont bf = BaseFont.CreateFont(BaseFont.HELVETICA, BaseFont.CP1252, BaseFont.NOT_EMBEDDED);
cb.SetColorFill(BaseColor.BLACK);
cb.SetFontAndSize(bf, 32);
// write the text in the pdf content
cb.BeginText();
cb.EndText();
PdfImportedPage page = writer.GetImportedPage(reader, i);
cb.AddTemplate(page, 0, 0);
}
document.Close();
fs.Close();
writer.Close();
reader.Close();
}
Может кто-нибудь предложить мне, что не так я сделал? Почему ориентация автоматически изменяется?
Приложите снимок экрана сгенерированного pdf –
Отбросьте свой код. Прочтите [документацию] (http://pages.itextpdf.com/ebook-stackoverflow-questions.html). Прочтите все ответы о 'PdfStamper'. Чувствуете себя стыдно, потому что вы сначала не читали документацию, потому что делаете это неправильно. –