2017-05-04 70 views
0

我正在做一个图像到pdf程序。使用带间距的itextsharp将图像转换为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); 

它裁剪IM的一部分年龄的空间。我怎么做这个工作?

回答

0

通过将文档边距设置为“0,50,50,0”,您还设置了一个边距右边,这可能不是您想要的。边缘顶部是在图像上获得一些空间的正确方法。 或者,您可以在添加图像之前在文档中添加一些空行,例如:document.Add(new Paragraph(Chunk.NewLine))

您可以使用image.ScaleToFit()并传入类似document.PageSize .Height和document.PageSize.Width使图像适合您的页面。

0

这是我的解决方案。我没有意识到这个简单的代码将起作用

Document document = new Document(new Rectangle(image.Width, image.Height + 150), 0, 0, 150, 0); 
相关问题