【发布时间】:2013-01-13 05:23:34
【问题描述】:
我有一堆 PDF 文件——我按照要求将这些文件读入字节数组,然后将其传递给 iTextSharp PdfReader 实例。然后我想获取每个页面的尺寸(以像素为单位)。从我目前所读到的内容来看,PDF 文件似乎是以点为单位工作的——一个点是一个可配置的单元,存储在名为 UserUnit 的元素中的某种字典中。
将我的 PDF 文件加载到 PdfReader 中,我需要做些什么来获取每个页面的 UserUnit(显然它可能因页面而异),这样我才能以像素为单位获取页面尺寸。
目前我有这段代码,它以“点”为单位获取每个页面的尺寸 - 我猜我只需要 UerUnit,然后可以将这些尺寸乘以得到像素或类似的东西。
//Create an object to read the PDF
PdfReader reader = new iTextSharp.text.pdf.PdfReader(file_content);
for (int i = 1; i <= reader.NumberOfPages; i++)
{
Rectangle dim = reader.GetPageSize(i);
int[] xy = new int[] { (int)dim.Width, (int)dim.Height }; // returns page size in "points"
page_data[objectid + '-' + i] = xy;
}
干杯!
【问题讨论】:
标签: c# .net pdf itextsharp