Spire.PDF for Java 10.1.3 已发布。本次更新新增 PdfTextReplacer 接口来实现替换文本的功能以及 PdfImageHelper 接口来实现删除图片、提取图片、替换图片和压缩图片的功能。此外,本次更新还提高了绘制水印的效率。详情请阅读以下内容。
新功能:
- 提高绘制水印的效率。
- 新增PdfTextReplacer接口来实现替换文本的功能。
- 新增PdfImageHelper接口来实现删除图片、提取图片、替换图片和压缩图片的功能。 关键代码如下:
PdfDocument pdf = new PdfDocument();
pdf.loadFromFile("sample.pdf");
PdfPageBase page = pdf.getPages().get(0);
PdfTextReplacer replacer = new PdfTextReplacer(page);
PdfTextReplaceOptions options= new PdfTextReplaceOptions();
options.setReplaceType(EnumSet.of(ReplaceActionType.WholeWord));
replacer.replaceText("www.google.com", "1234567");
pdf.saveToFile(outputFile);
PdfImageHelper imageHelper = new PdfImageHelper();
PdfImageInfo[] imageInfoCollection= imageHelper.getImagesInfo(page);
Delete image:
imageHelper.deleteImage(imageInfoCollection[0]);
Extract image:
int index = 0;
for (com.spire.pdf.utilities.PdfImageInfo img : imageInfoCollection) {
BufferedImage image = img.getImage();
File output = new File(outputFile_Img + String.format("img_%d.png", index));
ImageIO.write(image, "PNG", output);
index++;
}
PdfImage image = PdfImage.fromFile("ImgFiles/E-iceblue logo.png");
imageHelper.replaceImage(imageInfoCollection[i], image);
Compress image:
for (PdfPageBase page : (Iterable<PdfPageBase>)doc.getPages())
{
if (page != null)
{
if (imageHelper.getImagesInfo(page) != null)
{
for (com.spire.pdf.utilities.PdfImageInfo info : imageHelper.getImagesInfo(page))
{
info.tryCompressImage();
}
}
}
}
问题修复:
- 修复了保存文档时程序抛出java.lang.StringIndexOutOfBoundsException异常的问题。
获取Spire.PDF for Java 10.1.3请点击: