PDF openen in Controller- Kan open parameters niet gebruiken

In mijn controller wil ik een pdf openen en deze naar de browser streamen. Deze code werkt goed als ik de open parameters niet gebruik. Ik moet echter een open parameter zoals # search = "java" achter de bestandsnaam gebruiken. Het gebruik van open parameters werkt prima als het een url is, maar is er een manier waarop ik adobe open parameters kan gebruiken om het bestand te openen.

Code die ik gebruik is:

private static final String DOCUMENT_LOCATION = "C:\\testPDF\\mytest.pdf#search=" + "\"" + "java" + "\"";


@RequestMapping(method=RequestMethod.GET)
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { 

   //set some response headers 
    response.setContentType("application/pdf"); 

    InputStream in = new FileInputStream(DOCUMENT_LOCATION); 
    OutputStream out = response.getOutputStream(); 

   //Copy the bits from instream to outstream 
    byte[] buf = new byte[1024]; 
    int len; 
    while ((len = in.read(buf)) > 0) { 
        out.write(buf, 0, len); 
    } 
    in.close(); 

} 
1
Wat bedoel je, je hebt een "zoekparameter achter de bestandsnaam" nodig? U geeft een bestandsnaam op voor Java om te openen. Je kunt het alleen de bestandsnaam geven, niet willekeurige parameters die niets met het bestandssysteem te maken hebben.
toegevoegd de auteur Dave Newton, de bron
Niet zeker hoe ... Eén ding dat u zou kunnen proberen, is de antwoordheaders controleren wanneer u deze opent via URL om te zien of er iets wordt teruggestuurd waardoor de browser/lezer de zoekopdracht uitvoert.
toegevoegd de auteur Dave Newton, de bron
@Inerdia Dat zou ook mijn gok zijn, maar ik zou er nog steeds uitzien, want ik ben zo op die manier. Als de URL de parameter bevat, weet ik niet zeker hoe Reader weet dat het geen echt bestand is. Of in de bestandsnaam van de bijlage? Ik weet niet.
toegevoegd de auteur Dave Newton, de bron
@DaveNewton Ik vermoed dat het eigenlijk de Adobe Reader-plug-in is die de client-side URL voor die parameter inspecteert, dus er is niets bijzonders om terug te sturen.
toegevoegd de auteur millimoose, de bron
ja dat is het probleem, ik kan het bestand openen, maar ik denk niet dat dit de manier is waarop ik het bestand moet openen. Is er een manier om een ​​bestand in een lokale map te openen en toch de open parameters te gebruiken?
toegevoegd de auteur user984701, de bron

2 antwoord

Als u bepaalde parameters wilt gebruiken die worden ondersteund door Adobe Acrobat Reader, moet u een manier zoeken om die parameters op te geven in een plug-in in de browser of in de lezer op de clientcomputer.

Het is niet mogelijk om het bestand op de server te "openen" met die parameters, aangezien Java slechts een bestand opent en niets weet van het formaat.

1
toegevoegd
@Dave Newton: mochten de opmerkingen als antwoorden zijn geplaatst. Omdat een simpele "dit is niet mogelijk" of altijd een geldig antwoord is.
toegevoegd de auteur Ralph, de bron
Dat is niet echt een antwoord; een beetje een reactie op de reacties.
toegevoegd de auteur Dave Newton, de bron
nou misschien moet ik mijn tactiek veranderen. Ik weet dat open parameters goed werken als ik een URL gebruik. In mijn project zou ik een pdf-map kunnen opnemen die de pdf's bevat en deze zou kunnen noemen als een jsp. Enige probleem is dat de pdf's oud kunnen worden en dat ik ze moet updaten. Ik kan een geplande taak hebben om de nieuwste pdf's op te halen, maar waar moet ik de bijgewerkte bestanden plaatsen? Moet ik een nieuwe thread maken?
toegevoegd de auteur user984701, de bron
om eerlijk te zijn, mijn echte onderliggende probleem is dat ik de pdf's wil opvrolijken wanneer een zoekwoord wordt gevonden, maar het lijkt op basis van mijn onderzoek dat Adobe geen ondersteuning meer biedt voor het markeren en de beste manier is om een ​​zoekparameter door te geven?
toegevoegd de auteur user984701, de bron

nou blijkt dat adobe niet langer open parameters ondersteunt, dus wat ik uiteindelijk deed, was het doorgeven van de parameter van de zoek-URL die de zoekfunctie automatisch in Adobe opent. Helaas werkt dit alleen in IE niet in Firefox.

1
toegevoegd