I get the same result as the OP using PDFBox version 1.8.4. However, in version 2.0.0-SNAPSHOT, it looks better:

Here, only some arrows are thinner, and some parts of the arrow are not drawn correctly as fields.
In this way,
how to make pdfbox something like a direct snapshot?
In current versions of the version (up to 1.8.4), there seems to be a greater shortage when rendering PDF files as images. You can switch to the current development version (for example, the current trunk, 2.0.0-SNAPSHOT) or wait until improvements are released.
In addition, some minor deficits even in 2.0.0-SNAPSHOT. You might want to present your sample document to the people from the PDFBox (i.e., create the corresponding problem in their JIRA) so that they can further improve the PDFBox to suit your needs.
Also, I noticed that png image quality is not so good, is there a way to increase the resolution of the generated image?
There is convertToImage overload with resolution parameters. Your current code really sets the screenResolution resolution. Increase this resolution value.
PS: The code for rendering the PDF page for the image was reorganized into 2.0.0-SNAPSHOT. Instead
BufferedImage image = page.convertToImage();
Now you are doing
BufferedImage image = RenderUtil.convertToImage(page);
I assume that this was done to remove AWT direct links from the main classes, since AWT is not available, for example, Android.
PS : The SNAPSHOT I used last year in this answer was just a snapshot, subject to change. Version 2.0.0 is still under development, a lot has changed. Especially there is no RenderUtil class. Instead, you currently need to use the PDFRenderer in the org.apache.pdfbox.rendering package ...