我正在为pdf程序做一个图像。
我想将图片的大小设置为pdf的大小,并将顶部的额外空间设置为50
我试过这段代码
using (var imageStream = new FileStream(imagelocation, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
{
var image = Image.GetInstance(imageStream);
Document document = new Document(new Rectangle(image.Width, image.Height), 0, 0, 0, 0);
using (var stream = new FileStream(pdfOutput, FileMode.Create, FileAccess.Write, FileShare.None))
{
PdfWriter.GetInstance(document, stream);
document.Open();
document.Add(image);
document.Close();
}
}
但问题是它没有上边距,
当我尝试这段代码时
Document document = new Document(new Rectangle(image.Width, image.Height), 0, 50, 50, 0);
它为空间裁剪图像的一部分。我怎样才能做到这一点?
答案 0 :(得分:0)
通过设置文档边距,如" 0,50,50,0和#34;你也设置了一个保证金权利,在这种情况下可能不是你想要的。边缘顶部是在图像上方获得一些空间的正确方法。 或者,您可以在添加图像之前向文档添加一些空行,例如:document.Add(new Paragraph(Chunk.NewLine))
您可以使用image.ScaleToFit()并传入document.PageSize.Height和document.PageSize.Width之类的内容,以使该图像适合您的页面。
答案 1 :(得分:0)
这是我的解决方案。我没有意识到这个简单的代码会起作用
Document document = new Document(new Rectangle(image.Width, image.Height + 150), 0, 0, 150, 0);