【发布时间】:2015-01-14 08:25:04
【问题描述】:
有没有免费的库,可用于获取 PDF 文件包含的 DPI 中图像的分辨率?
我使用 PDFSharp 尝试了以下代码,但它返回的 DPI 不正确。例如它显示 96dpi 而应该是 150dpi:
using (PdfDocument pdf = PdfReader.Open(sourcePdf))
{
for (int i = 0; i < pdf.Pages.Count; i++)
{
XGraphics xGraphics = XGraphics.FromPdfPage(pdf.Pages[i]);
float dpi = xGraphics.Graphics.DpiX;
}
}
【问题讨论】:
-
您的代码没有访问任何图像。要获得图像的 DPI,首先必须找到图像。 PDFsharp 不是为此类任务而设计的,因为 PDFsharp 无法呈现 PDF 文件。
-
好的,那么使用 PDFSharp 获取 DPI 是不可能的吗?如果是这样,我可以用什么代替?不幸的是,我只能使用免费用于商业用途的此类库......所以我不能使用 ItextSharp :(
-
我不明白你想达到什么目的。 PDF 中的单个图像可以在具有不同 DPI 的 PDF 文件中多次绘制。通过变换,图像顶部可能具有与底部不同的 DPI。获取 DPI 值的目的是什么?它应该适用于任何 PDF 文件还是只适用于由特定应用程序创建的 PDF 文件?