我从服务器获取一个表示TIFF文件的字节数组,将其转换为XImage,然后将其添加到新的pdf文档中。有问题的图像是1280x800(这是截图),并且正在伸展和延长以适应标准pdf页面的高度和宽度。我该如何解决这个问题?
答案 0 :(得分:1)
试试这个:
doc.MediaBox.String = img.BoundingBox.String;
doc.Rect.String = doc.MediaBox.String;
其中doc is Doc
和img is XImage
答案 1 :(得分:0)
您遇到的特殊问题是将打印机设置为纵向。
作为PDF对象,您可能需要模拟一个模仿您所追求的图像大小的页面。
将原始文档发送到图像并添加TIFF文件可能会更好。
答案 2 :(得分:0)
取决于如何构建PDF页面。您可能想要做的是确保您创建的PDF页面与图像具有相同的宽高比,而不是默认为字母大小的页面。
由于您没有指定如何制作PDF页面,我无法专门帮助您。但一般来说,PDF页面的单位为1/72英寸。您可以像这样找出正确尺寸的页面:
const kPdfPageUnitSize = 72f;
float GetPdfSize(int nPixels, float dotsPerInch) {
return (nPixels / dotsPerInch) * kPdfPageUnitSize;
}
// later
float pdfwidth = GetPdfSize(image.Width, image.Resolution.X); // or however you have this
float pdfheight = GetPdfSize(image.Height, image.Resolution.Y);
答案 3 :(得分:0)
我可以看到,图像比例系数不正确。您应该将图像高度和图像宽度除以1,33(3)(即96f / 72f)
默认情况下,PDF用户单位为1/72英寸,因此您的图像DPI应与原始图像成比例。