Pdf添加水印报错

pdf添加水印报错
我使用的是
implementation (
group: ‘com.aspose’,
name: ‘aspose-pdf’,
version: ‘20.11’,
classifier: ‘android.via.java’)
代码如下
fun pdfshuiying(){
var fileinput= FileInputStream(path)
var document:Document
try {
document = Document(fileinput)
} catch (e: java.lang.Exception) {
MyLogUtils.testLog(“转换失败!”)
return
}
val formattedText = FormattedText(“Watermark”,FontColor(255,0,0) , FontStyle.Courier, EncodingType.Identity_h, true, 72.0f)
val artifact = WatermarkArtifact()
artifact.setText(formattedText);
artifact.setArtifactHorizontalAlignment (HorizontalAlignment.Center)
artifact.setArtifactVerticalAlignment (VerticalAlignment.Center)
artifact.setRotation (45.0)
artifact.setOpacity (0.5)
val docFileName = File(App.APP_DOWN_PATH+“shuiying.pdf”)
if(!docFileName.exists()){
docFileName.mkdirs()
}
for (i in 1…document!!.pages.size()) {
document.pages.get_Item(i).artifacts.add(artifact)
}
try {
document.save(docFileName.toString())
} catch (e: java.lang.Exception) {
MyLogUtils.testLog(“转换失败!”)
return
}
MyLogUtils.testLog(“转换成功!”)
}
报错如下
java.lang.NullPointerException: Attempt to invoke virtual method ‘boolean java.lang.String.equals(java.lang.Object)’ on a null object reference
at com.aspose.pdf.Artifact.m456(Unknown Source:219)
at com.aspose.pdf.Artifact.m455(Unknown Source:526)
at com.aspose.pdf.Artifact.m2(Unknown Source:23)
at com.aspose.pdf.ArtifactCollection.add(Unknown Source:23)

@zpswz

您能否尝试使用 ImageStamp 类在 PDF 文档中添加水印?如果您仍然遇到任何问题,请随时告诉我们。

尝试ImageStamp类代码可以执行成功但是生成的pdf中没有水印
代码如下
fun pdfshuiying(){
var fileinput= FileInputStream(path)
var document:Document
try {
document = Document(fileinput)
} catch (e: java.lang.Exception) {
MyLogUtils.testLog(“转换失败!”)
return
}
val imageStamp = ImageStamp(App.APP_DOWN_PATH+ “1.png”)
imageStamp.background = false
imageStamp.setXIndent(100.0)
imageStamp.setYIndent(100.0)
imageStamp.setHeight(48.0)
imageStamp.setWidth(225.0)
val docFileName = File(App.APP_DOWN_PATH+“shuiying.pdf”)
if(!docFileName.exists()){
docFileName.mkdirs()
}
for (i in 1…document!!.pages.size()-1) {
document.pages.get_Item(i).addStamp(imageStamp)
}
try {
document.save(docFileName.toString())
} catch (e: java.lang.Exception) {
MyLogUtils.testLog(“转换失败!”)
return
}
MyLogUtils.testLog(“转换成功!”)
}
测试的pdf文件及水印图片
1_简历.pdf (212.6 KB)
1.png (203.3 KB)

@zpswz

您能否也分享一下您最后生成的输出 PDF 文件?

输出的文件跟输入的文件内容一样没有改变
shuiying.pdf (213.7 KB)

@zpswz

我们在问题跟踪系统中将问题记录为 PDF ANDROID-630 以进一步调查此问题。我们将进一步调查其详细信息,并随时向您发布其更正状态。请耐心等待,给我们一些时间。

对此造成的不便,我们表示歉意。

The issues you have found earlier (filed as PDFANDROID-630) have been fixed in Aspose.PDF for Android via Java 23.3.