Replace text inside a PDF file using iText

后端 未结 3 1730
不思量自难忘°
不思量自难忘° 2020-12-19 05:37

Im using iText(5.5.13) library to read a .PDF and replace a pattern inside the file. The problem is that the pattern is not being found because somehow some wei

3条回答
  •  情歌与酒
    2020-12-19 06:05

    I found this blog Replacing PDF objects(legacy), as everyone said it hard to change binary file. Try if this works.

        PdfReader reader = new PdfReader(src);
        PdfDictionary dict = reader.getPageN(1);
        PdfObject object = dict.getDirectObject(PdfName.CONTENTS);
        if (object instanceof PRStream) {
            PRStream stream = (PRStream)object;
            byte[] data = PdfReader.getStreamBytes(stream);
            stream.setData(new String(data).replace("test", "tested").getBytes());
        }
        PdfStamper stamper = new PdfStamper(reader, new FileOutputStream(dest));
        stamper.close();
        reader.close();
    

    For iText version 7 check Replacing PDF objects

提交回复
热议问题