2013-09-18 2 views
1

У меня есть существующий pdf и извлекающий текст из pdf. Вот код, который у меня уже естьКак получить размеры страницы PDF

using iTextSharp.text.pdf; 
using iTextSharp.text.pdf.parser; 
using System.IO; 

public string ReadPdfFile(string fileName) 
{ 
    StringBuilder text = new StringBuilder(); 

    if (File.Exists(fileName)) 
    { 
     PdfReader pdfReader = new PdfReader(fileName); 

     for (int page = 1; page <= pdfReader.NumberOfPages; page++) 
     { 
      ITextExtractionStrategy strategy = new SimpleTextExtractionStrategy(); 
      string currentText = PdfTextExtractor.GetTextFromPage(pdfReader, page, strategy); 

      currentText = Encoding.UTF8.GetString(ASCIIEncoding.Convert(Encoding.Default, Encoding.UTF8, Encoding.Default.GetBytes(currentText))); 
      text.Append(currentText); 
     } 
     pdfReader.Close(); 
    } 
    return text.ToString(); 
} 

Я хотел бы получить размеры страницы pdf. Мне нужны размеры, поэтому я могу создать класс-оболочку, содержащий эту информацию. Тогда класс может определить, вне прямоугольников.

ответ

8

Я хотел бы получить размеры страницы PDF.

The PdfReader методы принадлежности класса для их извлечения:

PdfReader pdfReader = new PdfReader(fileName); 

Rectangle mediabox = pdfReader.GetPageSize(pageNr); 
Rectangle cropbox = pdfReader.GetCropBox(pageNr); 

В зависимости от размеров, которые на самом деле нужно использовать один из них.

+0

Этот здесь работал для меня – Luke101

0

как об использовании этого: -

PdfReader reader = new PdfReader(m); 
PdfImportedPage page = writer.GetImportedPage(pdfReader, i); 
// size information 
page.PageSize.Width; 
page.PageSize.Height; 
+0

Прохладный. Я пытаюсь это сделать, когда я приступаю к работе и вижу, работает ли это. – Luke101

+1

Импортировать страницу совершенно не нужно, 'PdfReader' уже предлагает методы для возврата размеров страницы. – mkl

Смежные вопросы