Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/467.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何打印PDF文件?_Javascript_Spring_Pdf - Fatal编程技术网

Javascript 如何打印PDF文件?

Javascript 如何打印PDF文件?,javascript,spring,pdf,Javascript,Spring,Pdf,我需要在浏览器打印对话框中打开PDF文件。这段代码返回PDF,但当我在浏览器中单击href时,文件保存在磁盘上。我怎样才能改变它 @RequestMapping(value = "/task/{taskId}/file", method = RequestMethod.GET, produces = MediaType.APPLICATION_OCTET_STREAM_VALUE) @ResponseBody public CompletableFuture<

我需要在浏览器打印对话框中打开PDF文件。这段代码返回PDF,但当我在浏览器中单击href时,文件保存在磁盘上。我怎样才能改变它

@RequestMapping(value = "/task/{taskId}/file", method = RequestMethod.GET, produces = MediaType.APPLICATION_OCTET_STREAM_VALUE)
        @ResponseBody
        public CompletableFuture<ResponseEntity<?>> getTaskFile(@PathVariable Long taskId) {
            final String login = SecureUtil.usernameFromSecureContext();
            return CompletableFuture.supplyAsync(() -> {
                Optional<Task> taskOpt = taskService.findOne(taskId, login);

               if (!taskOpt.isPresent()) {
                    return ResponseEntity.notFound().build();
                }

               taskOpt.map((task) -> TaskUtil.getFileId(task).map(ls -> ls.stream().findFirst().get()).get());
                Task task = taskOpt.get();
                Optional<List<String>> fileIdOpts = TaskUtil.getFileId(task);
                if (!fileIdOpts.isPresent()) {
                    return ResponseEntity.notFound().build();
                }

               String filePath = fileIdOpts.map(ls -> ls.stream().findFirst().get()).get();
                FileSystemResource fsr = new FileSystemResource(filePath);

                HttpHeaders headers = new HttpHeaders();
                String fileName = getFileNamePrefix(task.getAnchor()) + task.getId();

                headers.setContentType(new MediaType("application", "pdf"));
                headers.setContentDispositionFormData("attachment", fileName + ".pdf");

               return ResponseEntity.ok().headers(headers).body(fsr);
            }, executorService);
        }
@RequestMapping(value=“/task/{taskId}/file”,method=RequestMethod.GET,products=MediaType.APPLICATION\u OCTET\u STREAM\u value)
@应答器

公共完整的未来你不能。如果用户愿意,则由用户自行打印。你不能强迫人们从浏览器打印东西。这将是一个巨大的安全问题,如果任何一个网站可以打印它想要的任何东西,可能是你不能复制的。如果用户愿意,则由用户自行打印。你不能强迫人们从浏览器打印东西。如果任何网站都能打印出它想要的任何内容,这将是一个巨大的安全问题