有没有人知道如何在从UIDAI网站下载的aadhaar pdf中屏蔽aadhaar号码。
我已经为itext尝试了下面的代码。它不是为aadhaar PDF工作,而是为其他普通pdfs工作。
public static void main(String[] args) throws IOException, DocumentException {
File file = new File(DEST);
file.getParentFile().mkdirs();
new MainClassName().manipulatePdf(SRC, DEST);
}
public void manipulatePdf(String src, String dest) throws IOException, DocumentException {
PdfReader reader = new PdfReader(src);
PdfDictionary dict = reader.getPageN(1);
PdfObject object = dict.getDirectObject(PdfName.CONTENTS);
PdfArray refs = null;
if (dict.get(PdfName.CONTENTS).isArray()) {
refs = dict.getAsArray(PdfName.CONTENTS);
} else if (dict.get(PdfName.CONTENTS).isIndirect()) {
refs = new PdfArray(dict.get(PdfName.CONTENTS));
}
for (int i = 0; i < refs.getArrayList().size(); i++) {
PRStream stream = (PRStream) refs.getDirectObject(i);
byte[] data = PdfReader.getStreamBytes(stream);
stream.setData(new String(data).replace("8989 7890 4567", "XXXX XXXX 4567").getBytes());
}
PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(dest));
stamper.close();
reader.close();
}也尝试过这篇文章的建议(例如,使用pdfbox) Search and replace text in PDF using JAVA
即使这样,aadhaar PDF也不起作用,而是在为普通pdf工作。
(我知道我们可以从UIDAI网站下载一个蒙面aadhaar,但我需要通过JAVA下载)
发布于 2022-07-21 10:16:22
https://stackoverflow.com/questions/63757726
复制相似问题