我们使用iText从Java生成PDF(部分基于此站点的建议)。但是,将徽标的副本以GIF之类的图像格式嵌入会导致人们放大和缩小时看起来有些奇怪。
理想情况下,我们希望以矢量格式嵌入图像,例如EPS,SVG或只是PDF模板。该网站声称EPS支持已被删除,在PDF中嵌入PDF或PS可能会导致错误,甚至没有提到SVG。
我们的代码直接使用Graphics2D API而不是iText,但是我们愿意突破AWT模式,并在实现结果的情况下使用iText本身。如何才能做到这一点?
根据文档, 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(); } } }