2016-07-10 9 views
0

Ich habe Restful Webservice geschrieben, die PDF-Datei zurückgeben wird und dieses PDF wird in IFrame im Browser angezeigt werden. Dieser Teil ist gut in Gang.Wie Standard-Zoom-Wert von PDF-Antwort in Java setzen

Aber die Sache, auf der ich Schwierigkeiten habe, ist, PDF-Datei öffnet sich im Browser mit ausgewählten Zoom Vale 'Automatischer Zoom', aber ich wollte diese PDF mit Zoom-Wert 'Seitenbreite' ausgewählt anzeigen. Hier finden Sie die Methode, die PDF zurückgibt.

/** 
* @param file 
* @return Response object. 
*/ 
private Response processRequest(final String filePath) 
{ 

    File file = new File(filePath); 

    PDPageFitDestination dest = new PDPageFitDestination(); 
    PDActionGoTo action = new PDActionGoTo();  
    action.setDestination(dest); 

    ByteArrayOutputStream output = new ByteArrayOutputStream(); 

    PDDocument pd=null; 
    try 
    { 
    pd = PDDocument.load(file); 
    pd.getDocumentCatalog().setOpenAction(action); 
    pd.save(output); 
    } 
    catch(IOException e) 
    { 
    e.printStackTrace(); 
    } 
    catch(COSVisitorException e) 
    { 
    e.printStackTrace(); 
    } 

    //ResponseBuilder responseBuilder = Response.ok((Object)file); 

    ResponseBuilder responseBuilder = Response.ok(output.toByteArray()); 
    responseBuilder.header("Content-Type", "application/pdf; filename=return.pdf"); 
    responseBuilder.header("Content-Disposition", "inline"); 
    return responseBuilder.build(); 
    } 

Ich denke, durch den Header-Wert Bereitstellung spezifischen Wert vergrößern wird PDF mit Zoomwert ‚Seitenbreite‘ zurück, aber nicht, welchen Header in Bezug auf mich zu bekommen. Bitte geben Sie Ihre Vorschläge in dieser Hinsicht.

+0

Mit welchem ​​Browser/PDF-Viewer testen Sie? Nicht alle Browser/PDF-Viewer unterstützen das Öffnen einer PDF-Datei auf eine bestimmte Zoomstufe. Adobe Acrobat erreicht dies durch eine "Open Action". –

+0

@BrandonHaugen Danke für Ihr Interesse an meiner Frage. Zur Zeit arbeite ich an "Mozilla Firefox 24" und verwende zum Öffnen von PDF "Adobe Acrobat Reader 11". –

+0

@BrandonHaugen Ich habe nach Ihrem Vorschlag implementiert, aber immer noch PDF öffnet mit automatischer Zoom statt Seitenbreite als Standard-Zoom-Wert. Irgendeine Idee dazu? –

Antwort

0

Ich löste mein Problem. Ich musste nur PDF-spezifische Parameter in der Anfrage-URL verwenden. Für Details gehen Sie zu PDFOpenParameters