Hi,

From looking at the PDF specification, the strings are "Accepted" and not "accepted", and "None" instead of "none". I just noticed that, I didn't test your code. The best would be to create a "gold standard" model with Adobe, and then compare that one with yours.

Tilman

Am 26.04.2019 um 06:22 schrieb chitgoks:
hi. i used to have this working, adding review status to comments like
none, accepted, rejected, canceled, etc.

this used to be my working code

public static void main(String[] args) {
         try (PDDocument pdfDocument = PDDocument.load(new File("src.pdf")))
{
             PDPage pdPage = pdfDocument.getPages().get(0);

             PDAnnotationSquareCircle squareAnnot = new
PDAnnotationSquareCircle(PDAnnotationSquareCircle.SUB_TYPE_SQUARE);
             squareAnnot.setRectangle(new PDRectangle(67.2f, 697.19995f,
182.4f, 756.6f));
             squareAnnot.setTitlePopup("test_username");
             squareAnnot.setContents("root comment");
             squareAnnot.setCreationDate(Calendar.getInstance());
             squareAnnot.setModifiedDate(Calendar.getInstance());

             squareAnnot.setInteriorColor(new PDColor( new float[] { 255,
255, 0 }, PDDeviceRGB.INSTANCE));
             squareAnnot.setConstantOpacity(0.3f);

             // Add review status to annotation.
             PDAnnotationText status = new PDAnnotationText();
             status.setRectangle(new PDRectangle(67.2f, 697.19995f, 182.4f,
756.6f));
             status.setTitlePopup("reviewer");
             status.getCOSObject().setInt(COSName.F, 30);
             status.setState("accepted");
             status.setStateModel("Review");
             status.setInReplyTo(squareAnnot);
             pdPage.getAnnotations().add(status);

             // Add a reply to comment.
             PDAnnotationText replyAnnotation = new PDAnnotationText();
             replyAnnotation.setRectangle(new PDRectangle(67.2f, 697.19995f,
182.4f, 756.6f));
             replyAnnotation.setTitlePopup("branch");
             replyAnnotation.setContents("reply comment");
             replyAnnotation.setCreationDate(Calendar.getInstance());
             replyAnnotation.setModifiedDate(Calendar.getInstance());
             replyAnnotation.setName(PDAnnotationText.NAME_COMMENT);
             replyAnnotation.setInReplyTo(squareAnnot);
             pdPage.getAnnotations().add(replyAnnotation);

             // Add review status to reply.
             status = new PDAnnotationText();
             status.setRectangle(new PDRectangle(67.2f, 697.19995f, 182.4f,
756.6f));
             status.setTitlePopup("statuser");
             status.getCOSObject().setInt(COSName.F, 30);
             status.setState("none");
             status.setStateModel("Review");
             status.setInReplyTo(replyAnnotation);
             pdPage.getAnnotations().add(status);

             pdPage.getAnnotations().add(squareAnnot);

             pdfDocument.save("result.pdf");
             pdfDocument.close();
         } catch (Exception e) {
             Logger.getLogger(Test.class.getSimpleName()).log(Level.SEVERE,
null, e);
         }
     }


now, it does not get added anymore. i noticed ever since acrobat pdf reader
changed them to colored icons, they do not work anymore. i noticed that
they even added the SubType Text to the dictionary, but even if i added
that to the PDAnnotationText, the review comment status does not get added.
i am not sure what i am missing.

thoughts?



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to