本文目录一览:
java创建pdf文件写入不进去
可以用生成PDF报表的Java组件–iText。
具体实现方法如下:1、导入itext-2。1。5。jar跟itextasian-1。5。2。jar两个包到项目里,2、建立一个pdf文件。
一般情况下,iText使用在有以下一个要求的项目中:1。内容无法提前利用:取决于用户的输入或实时的数据库信息。2。由于内容,页面过多,PDF文档不能手动生成。3。文档需在无人参与,批处理模式下自动创建。4。内容被定制或个性化。
java 如何给pdf文件加水印
可以使用Spire.PDF for Java通过Java来添加水印。
首先,您需要在 Java 程序中添加 Spire.Pdf.jar 文件作为依赖项。您可以从这个链接下载 JAR 文件;如果您使用 Maven,则可以通过在 pom.xml 文件中添加以下代码导入 JAR 文件。
repositories
repository
idcom.e-iceblue/id
url;/url
/repository/repositoriesdependencies
dependency
groupIde-iceblue/groupId
artifactIdspire.pdf/artifactId
version5.3.1/version
/dependency/dependencies
1.添加图片水印
代码如下:
import com.spire.pdf.*;
import java.awt.geom.Rectangle2D;
public class watermark {
public static void main(String[] args) {
//加载PDF文档
PdfDocument doc = new PdfDocument();
doc.loadFromFile(“C:\\Users\\Administrator\\Desktop\\Sample.pdf”);
//获取第一页
PdfPageBase page = doc.getPages().get(0);
//设置背景图片
page.setBackgroundImage(“C:\\Users\\Administrator\\Desktop\\logo.png”);
//设置背景区域
Rectangle2D.Float rect = new Rectangle2D.Float();
rect.setRect(280, 300, 150, 150);
page.setBackgroundRegion(rect);
//保存文档
doc.saveToFile(“output/imageWaterMark.pdf”);
doc.close();
}
}
2.添加文本水印
代码如下:
import com.spire.pdf.*;
import com.spire.pdf.graphics.*;
import java.awt.*;
import java.awt.geom.*;
public class Textwatermark {
public static void main(String[] args) {
//创建PdfDocument对象
PdfDocument pdf = new PdfDocument();
//加载示例文档
pdf.loadFromFile(“C:\\Users\\Administrator\\Desktop\\Sample.pdf”);
//获取第一页
PdfPageBase page = pdf.getPages().get(0);
//调用insertWatermark方法插入文本水印
insertWatermark(page, “E-ICEBLUE”);
//保存文档
pdf.saveToFile(“out/textWaterMark.pdf”);
}
static void insertWatermark(PdfPageBase page, String watermark) {
Dimension2D dimension2D = new Dimension();
dimension2D.setSize(page.getCanvas().getClientSize().getWidth() / 2, page.getCanvas().getClientSize().getHeight() / 3);
PdfTilingBrush brush = new PdfTilingBrush(dimension2D);
brush.getGraphics().setTransparency(0.3F);
brush.getGraphics().save();
brush.getGraphics().translateTransform((float) brush.getSize().getWidth() / 2, (float) brush.getSize().getHeight() / 2);
brush.getGraphics().rotateTransform(-45);
brush.getGraphics().drawString(watermark, new PdfFont(PdfFontFamily.Helvetica, 24), PdfBrushes.getViolet(), 0, 0, new PdfStringFormat(PdfTextAlignment.Center));
brush.getGraphics().restore();
brush.getGraphics().setTransparency(1);
Rectangle2D loRect = new Rectangle2D.Float();
loRect.setFrame(new Point2D.Float(0, 0), page.getCanvas().getClientSize());
page.getCanvas().drawRectangle(brush, loRect);
}
}
希望对您有帮助。
java生成pdf,图片怎么导不进去?
不知道你用的什么方法来导的,但是如果通过PDF类库jar包来实现的话,应该是没问题的,参考如下java代码中关于如何插入图片到PDF的方法:
import com.spire.pdf.*;
import com.spire.pdf.graphics.*;
public class AddImage {
public static void main(String[] args) {
//创建文档
PdfDocument pdf = new PdfDocument();
//添加一页
PdfPageBase page = pdf.getPages().add();
//加载图片,并获取图片高宽
PdfImage image = PdfImage.fromFile(“fj.png”);
int width = image.getWidth()/2;
int height = image.getHeight()/2;
//绘制图片到PDF
page.getCanvas().drawImage(image,50,50,width, height);
//保存文档
pdf.saveToFile(“result.pdf”);
pdf.dispose();
}
}
原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/257707.html