3

我尝试使用 Apache PDFBOX 将现有 pdf 中的字符串替换为“XXX”。当我直接使用 org.apache.pdfbox.examples.pdmodel 中的 ReplaceString.java 时,我无法替换它

所以我们修改了以下部分。

. . .

      else if( op.getOperation().equals( "TJ" ) )
                    {
                        COSArray previous = (COSArray)tokens.get( j-1 );
                        for( int k=0; k<previous.size(); k++ )
                        {
                            Object arrElement = previous.getObject( k );
                            if( arrElement instanceof COSString )
                            {
                                COSString cosString = (COSString)arrElement;
                                String string = cosString.getString();
                                string = string.replaceFirst( strToFind, message );
                                cosString.reset();
                                cosString.append( string.getBytes() );
                            }
                        }
                    }

. . .

修改为:

        else if( op.getOperation().equals( "TJ" ) )
                    {
                        COSArray previous = (COSArray)tokens.get( j-1 );
                        for( int k=0; k<previous.size(); k++ )
                        {
                            Object arrElement = previous.getObject( k );
                            if( arrElement instanceof COSString )
                            {
                                COSString cosString = (COSString)arrElement;
                                byte[] cosBytes = cosString.getBytes();
                                String s = new String(cosBytes, "Cp1047");
                                if(s.contains(strToFind))
                                 {
                                   String newString = s.replaceAll(strToFind, message);
                                   cosString.reset();
                                   cosString.append( newString.getBytes("Cp1047") );
                                 }
                            }
                        }
                    }

. .

这用另一个替换了字符串。但在 PDF 的某些位置,字符串在给定数字时被替换,但在替换为字母时显示空白。

请帮忙。

4

0 回答 0