java - 文本 : Add an image on a header with an absolute position

标签 java image pdf itext

我想在我的 PDF 的每一页上放置一个标题。 页眉的文本部分已完成,但我找不到放置图像的方法。

public static class Header extends PdfPageEventHelper {             
    public void onEndPage(PdfWriter writer, Document document) {
        try{
            PdfContentByte cb = writer.getDirectContent();      

            /*
              Some code to place my text in the header
            */

            Image imgSoc = Image.getInstance("C:\\...\\Logo.jpg");
            imgSoc.scaleToFit(110,110);
            imgSoc.setAbsolutePosition(390, 720);

            ColumnText ct = new ColumnText(cb);
            ct.addText(new Chunk(imgSoc,0,0));
            ct.go();

        }catch(Exception e){
            e.printStackTrace();
        }
    }
}

我不太确定我这样做的方式是否正确。

最佳答案

已经有两个使用表格的答案。

表格对于创建不同页眉部分(文档标题、文档版本、页码、 Logo ...)的动态布局非常有帮助。

但是如果你不需要它,已经像 OP 那样准备好了一切,你可以简单地将图像添加到固定位置和固定大小:

public static class Header extends PdfPageEventHelper {             
    public void onEndPage(PdfWriter writer, Document document) {
        try
        {
            PdfContentByte cb = writer.getDirectContent();      

            /*
              Some code to place some text in the header
            */

            Image imgSoc = Image.getInstance("C:\\...\\Logo.jpg");
            imgSoc.scaleToFit(110,110);
            imgSoc.setAbsolutePosition(390, 720);

            cb.addImage(imgSoc);
        }
        catch(Exception e)
        {
            e.printStackTrace();
        }
    }
}

PS:如果你真的在所有页面上使用相同的标志,你最好只将图像文件读入Image实例一次(例如在构造函数或onOpenDocument), 将该实例保存在一个变量中并一次又一次地重复使用它。这样您就可以在 PDF 中仅包含一次图像数据。

关于java - 文本 : Add an image on a header with an absolute position,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35035356/

相关文章:

jquery - 如何在我的简单自定义图库中动态加载图像或仅加载第一张图像?

php - 在PHP中根据日期显示图像

ios - 在 iOS 设备上显示使用 R 创建的 PDF 图的问题

c# - 将文本从文本文件添加到 PDF 文件

java - 使用从 Spring Controller 获取的值填充表单

java - 混合连接和单表继承以及查询所有对象

java - Eclipse 中没有控制台窗口

c# - 带平铺的透视图像变换

swift - 同一 PDF 的多页 View

java - 将值从 html 传递到 Action Class Struts