我想使用itext java将图像拖到我的pdf文件中

我想使用itext java将图像拖到我的pdf文件中,java,image,size,itext,Java,Image,Size,Itext,我需要执行拖放功能 使用iText-jar文件。 我还想设置图像的宽度和高度,感谢您的帮助 我正在使用以下代码,但无法设置图像的大小(提示:我的PDF页面的一半将包含图像,但我无法这样做) 下面是我的代码: String imgLoc = "E:/iText/Image1.jpg"; Image image = Image.getInstance(imgLoc); image.setAbsolutePosition(100, 140);

我需要执行拖放功能 使用iText-jar文件。 我还想设置图像的宽度和高度,感谢您的帮助

我正在使用以下代码,但无法设置图像的大小(提示:我的PDF页面的一半将包含图像,但我无法这样做)

下面是我的代码:

        String imgLoc = "E:/iText/Image1.jpg";
        Image image = Image.getInstance(imgLoc);
        image.setAbsolutePosition(100, 140);

        image.scaleToFit(100f, 70f);
        // image.setAbsolutePosition(280, 10);
        // image.setAbsolutePosition(absoluteX, absoluteY);
        // writer.getDirectContent().addImage(image);

        document.add(preface1);
请尝试使用.scalePercent()方法。例如,如果要将尺寸减小50%,可以执行以下操作:

    image.setAbsolutePosition(100, 140);
    image.scalePercent(50f); 

尝试不同的值,直到找到适合您的值。

这个问题或多或少无法回答,因为您希望图像覆盖“页面的一半”,但您没有告诉我们如何定义页面大小

如果您像这样创建了
文档

Document document = new Document();
image.scaleToFit(pagesize.getWidth(), pagesize.getHeight() / 2);
然后隐式定义页面大小:默认页面大小为A4。换句话说,你所做的就是:

Rectangle pagesize = new Rectangle(595, 842);
Document document = Document(pagesize);
因此,如果希望图像覆盖页面的一半,则需要如下内容:

Document document = new Document();
image.scaleToFit(pagesize.getWidth(), pagesize.getHeight() / 2);
请注意,
scaleToFit()
方法考虑图像的纵横比,因此图像可能小于页面大小的一半。如果确实要使用页面的一半,则需要:

image.scaleAbsolute(pagesize.getWidth(), pagesize.getHeight() / 2);
但是:这可能会导致图像看起来不自然的丑陋结果,因为它被拉伸以适合绝对尺寸

根据要将图像添加到页面的上半部分还是下半部分,您需要:

image.scaleAbsolute(pagesize.getWidth(), pagesize.getHeight() / 2);
  • 下半部分:
    image.setAbsolutePosition(0,0)
  • 上半部分:
    image.setAbsolutePosition(0,pagesize.getHeight()/2)

在代码中,您使用的是硬编码尺寸和位置。如果这些值与页面的一半相对应,那将是非常令人惊讶的。

谢谢,lowagie,它工作得非常好!。请让我知道我们不能放弃吗!或者手动上传图像。我定义页面大小如下。请建议我是否遵循正确的语法。如果没有,请告诉我定义页面或文档格式的更好方法。这是我的文档格式document document=新文档(PageSize.A4,40.0f,40.0f,5.0f,5.0f);你究竟如何使用iText(一个没有任何GUI的库)手动拖放图像?你的问题听起来像:我在看我的收音机。我怎样才能看我最喜欢的电视节目?收音机不播放电影。iText不是一个可以“手动”使用的工具。这是一个开发者库。至于你的
文档
对象:看起来不错。