一尘不染

iText PDF中的矢量图形

java

我们使用iText从Java生成PDF(部分基于此站点的建议)。但是,将徽标的副本以GIF之类的图像格式嵌入会导致人们放大和缩小时看起来有些奇怪。

理想情况下,我们希望以矢量格式嵌入图像,例如EPS,SVG或只是PDF模板。该网站声称EPS支持已被删除,在PDF中嵌入PDF或PS可能会导致错误,甚至没有提到SVG。

我们的代码直接使用Graphics2D API而不是iText,但是我们愿意突破AWT模式,并在实现结果的情况下使用iText本身。如何才能做到这一点?


阅读 395

收藏
2020-12-03

共1个答案

一尘不染

根据文档,
iText支持以下图像格式:JPEG,GIF,PNG,TIFF,BMP,WMF和EPS。我不知道这是否有帮助,但是我已经成功地使用iTextSharp将矢量WMF图像嵌入到pdf文件中:

C#:

using System;
using System.IO;
using iTextSharp.text;
using iTextSharp.text.pdf;

public class Program 
{

    public static void Main() 
    {
        Document document = new Document();
        using (Stream outputPdfStream = new FileStream("output.pdf", FileMode.Create, FileAccess.Write, FileShare.None))
        using (Stream imageStream = new FileStream("test.wmf", FileMode.Open, FileAccess.Read, FileShare.Read))
        {
            PdfWriter.GetInstance(document, outputPdfStream);
            Image wmf = Image.GetInstance(imageStream);
            document.Open();
            document.Add(wmf);
            document.Close();
        }
    }
}
2020-12-03