Остальные ответ вернул PDF со случайными символами - PullRequest
0 голосов
/ 24 октября 2018
@RequestMapping(value = "/merge", method = RequestMethod.POST, produces = "application/pdf")
    public ResponseEntity<?> getPDF(@RequestBody DocRequest req) {

        try {
        ArrayList<String> urls =  pdf.getFileList(req);
        pdf.mergePdf(urls, req); // <-- this will generate a pdf called "untitled.pdf" on the server (outputstream)
        byte[] pdf = Files.readAllBytes(new File("untitled.pdf").toPath());

        HttpHeaders headers = new HttpHeaders();     
        headers.setContentLength(pdf.length);
        headers.set("Content-Disposition", "attachment; filename=untitled.pdf"); 
        headers.setCacheControl("must-revalidate, post-check=0, pre-check=0");
        return new ResponseEntity<>(pdf ,headers, HttpStatus.OK);
        } catch (Exception e) {
            e.printStackTrace();
        }
        //if above did not return a proper response, then request is bad.
        return new ResponseEntity<>(HttpStatus.BAD_REQUEST);
    }

Если я открою файл untitled.pdf на сервере, он будет выглядеть нормально.Но когда я использую Swagger для загрузки PDF, я вижу, что PDF содержит случайные символы в файле.Изображение с содержимым было в порядке, но текст в формате PDF выглядит как куча вопросительных знаков и некоторых случайных символов, таких как пример ниже

"7SLHZLYLHKILMVYL`V\LSLJ[`V\YPU]LZ[TLU[VW[PVUZ!
     (YH[PVYLX\PYLTLU[VM!T\Z[ILTHPU[HPULK\ZPUNVULPU]LZ[TLU[VW[PVUMYVT,8(;VY(?(7YLTPLY=07MVYL]LY`VUL
    V\[ZPKLT\[\HSM\UKZLSLJ[LKUV[PUJS\KPUN[OL.06VY:[HISL=HS\L-\UK
;OLTH_PT\TU\TI"

Почему или что вызывает это ??

Обновление

Ошибка, когда я пытался открыть PDF через ридер, выскакивает следующее сообщение:

Cannot extract the embedded font 'CMOHAC+Helvetica-Light'. Some characters may not display or print correctly.

Также, когда я открываю PDF через ридер, я вижу кучуточек вместо этих символов, если я просто нажму на PDF, чтобы открыть.

1 Ответ

0 голосов
/ 24 октября 2018

Попробуйте установить заголовок Content-type в application / pdf

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...