iTextSharp: стол в пейзаже - PullRequest
       15

iTextSharp: стол в пейзаже

3 голосов
/ 07 января 2010

Я использую iTextSharp для создания большого документа. В этом документе я хочу некоторые конкретные страницы в альбомной ориентации. Все остальное - портрет. Кто-нибудь знает, как я могу это сделать? Запуск нового документа не вариант.

Спасибо!

1 Ответ

7 голосов
/ 07 января 2010

Вы можете установить размер документа, и это повлияет на следующие страницы. Некоторые фрагменты:

Установите документ где-нибудь (вы это уже знаете):

  var document = new Document();
  PdfWriter pdfWriter = PdfWriter.GetInstance(
    document, new FileStream(destinationFile, FileMode.Create)
  );
  pdfWriter.SetFullCompression();
  pdfWriter.StrictImageSequence = true;
  pdfWriter.SetLinearPageMode();           

Теперь переберите свои страницы (вы, вероятно, уже сделали это) и решите, какой размер страницы вы хотите для каждой страницы:

 for (int pageIndex = 1; pageIndex <= pageCount; pageIndex++) {
    // Define the page size here, _before_ you start the page.
    // You can easily switch from landscape to portrait to whatever
    document.SetPageSize(new Rectangle(600, 800));          

    if (document.IsOpen()) {
      document.NewPage();
    } else {
      document.Open();
    }
  }
...