我有一个现有的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页面的尺寸。我需要维度,所以我可以创建一个包含此信息的包装类。然后该类可以确定矩形是否超出范围。
答案 0 :(得分:8)
我想获得pdf页面的尺寸。
PdfReader
类提供了检索它们的方法:
PdfReader pdfReader = new PdfReader(fileName);
Rectangle mediabox = pdfReader.GetPageSize(pageNr);
Rectangle cropbox = pdfReader.GetCropBox(pageNr);
根据您实际需要的尺寸,使用其中任何一个。
答案 1 :(得分:0)
如何使用它: -
PdfReader reader = new PdfReader(m);
PdfImportedPage page = writer.GetImportedPage(pdfReader, i);
// size information
page.PageSize.Width;
page.PageSize.Height;
答案 2 :(得分:0)
尝试一下:
using iText.Kernel.Pdf;
PdfReader pdfReader = new PdfReader(yourfile);
PdfDocument pdf = new PdfDocument(pdfReader);
var height = pdf.GetPage(1).GetPageSize().GetHeight();
var width = pdf.GetPage(1).GetPageSize().GetWidth();
其中1是要提取尺寸的页面编号。如果要将结果转换为mm,只需执行以下操作:
var widthMM = width*25,4/72