Создать PDF со смешанной ориентацией в iTextSharp - PullRequest
5 голосов
/ 11 марта 2011

Я объединяю буферы PDF, используя этот код в http://web.archive.org/web/20111012184438/http://alex.buayacorp.com/merge-pdf-files-with-itext-and-net.html [Зеркало]

Мои PDF-файлы имеют смешанную ориентацию страницы, некоторые из них в книжной ориентации, а некоторые в альбомной (но все в формате A4)

Код не поддерживает ориентацию каждой страницы и использует ориентацию первой страницы по всему документу. Как мне создать PDF-файл со смешанной ориентацией, используя этот код.

Ответы [ 2 ]

8 голосов
/ 11 марта 2011

Хитрость в использовании нескольких размеров страницы заключается в том, чтобы позвонить SetPageSize() непосредственно перед вызовом NewPage(). Нечто подобное должно работать (я не компилировал это, но это должно быть довольно близко):

PdfImportedPage importedPage = pdfWriter.GetImportedPage(pdfReader, page);
newDocument.SetPageSize(new iTextSharp.Text.Rectangle(0.0F, 0.0F, importedPage.Width, importedPage.Height));
newDocument.NewPage();
pdfContentByte.AddTemplate(importedPage, 0, 0);
0 голосов
/ 17 мая 2013

Похоже на @Chris Haas.Мне нужна была страница 3, чтобы быть пейзажем

        if (PageNumber == 3)
        {
           pDoc.SetPageSize(new iTextSharp.text.Rectangle(0,0,PageSize.LETTER.Height,PageSize.LETTER.Width));
        }
        pDoc.NewPage();
...