我有一堆 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;
}
干杯!