Gọi phương thức này khi SDK tải xong và hộp thoại in cho biết tệp PDF đã bắt đầu in sẽ xuất hiện
PSPDFKit.load[configuration].then[[instance] => { // Print when loaded. // instance.print[]; }];
Tôi đã viết một số hành động tạo tệp PDF động. cái gì đó như. báo cáo/báo cáoGenerator. hoạt động
khi tôi gọi reports/reportGenerator?param=dialy
, nó sẽ mở tệp pdf đã tạo trong cửa sổ bật lên, sau đó tôi có thể nhấn nút in để mở hộp thoại máy in và in nó
những gì tôi muốn làm bây giờ là mở hộp thoại máy in trực tiếp. vì vậy khi tôi gọi reports/reportGenerator?param=dialy
và sau khi tệp pdf được tạo đầy đủ, hãy mở hộp thoại máy in. điều đó có thể không?
thêm thông tin.
hành động giống như thế này.
sout = response.getOutputStream[];
response.setContentType["application/pdf"];
response.setHeader["Content-disposition","inline; filename=\"myReport.pdf\""];
sout.write[pdfBytes];
sout.flush[];
sout.close[];
Giải pháp tốt nhất
Nhờ Alex K tôi đã tìm thấy câu trả lời
dựa theo
bạn có thể sử dụng thuộc tính PDF_JAVASCRIPT
để thêm javascript vào pdf khi bạn tạo nó
vì vậy tôi đã thêm
JRPdfExporter exporter = new JRPdfExporter[];
exporter.setParameter[JRPdfExporterParameter.PDF_JAVASCRIPT, "this.print[];"];
khi xuất PDF và nó đã hoạt động
Giải pháp liên quan
Javascript – Cách quản lý yêu cầu chuyển hướng sau lệnh gọi jQuery Ajax
Tôi đã đọc câu hỏi này và triển khai phương pháp đã được nêu liên quan đến việc đặt mã trạng thái HTTP phản hồi thành 278 để tránh trình duyệt xử lý các chuyển hướng một cách minh bạch. Mặc dù điều này hoạt động, tôi hơi không hài lòng vì nó hơi hack
Sau khi tìm hiểu kỹ hơn, tôi đã bỏ cách tiếp cận này và sử dụng JSON. Trong trường hợp này, tất cả phản hồi đối với yêu cầu AJAX đều có mã trạng thái 200 và phần thân của phản hồi chứa đối tượng JSON được tạo trên máy chủ. Sau đó, JavaScript trên máy khách có thể sử dụng đối tượng JSON để quyết định những gì nó cần làm
tôi đã có một vấn đề tương tự như của bạn. Tôi thực hiện một yêu cầu AJAX có thể có 2 phản hồi. một chuyển hướng trình duyệt đến một trang mới và một thay thế biểu mẫu HTML hiện có trên trang hiện tại bằng một biểu mẫu mới. Mã jQuery để làm điều này trông giống như
$.ajax[{
type: "POST",
url: reqUrl,
data: reqBody,
dataType: "json",
success: function[data, textStatus] {
if [data.redirect] {
// data.redirect contains the string URL to redirect to
window.location.href = data.redirect;
} else {
// data.form contains the HTML for the replacement form
$["#myform"].replaceWith[data.form];
}
}
}];
Đối tượng JSON "dữ liệu" được xây dựng trên máy chủ để có 2 thành viên. data.redirect
và
JRPdfExporter exporter = new JRPdfExporter[];
exporter.setParameter[JRPdfExporterParameter.PDF_JAVASCRIPT, "this.print[];"];
0. Tôi thấy cách tiếp cận này tốt hơn nhiềuJavascript – Cách kiểm tra xem phần tử có hiển thị sau khi cuộn không
cái này cần phải dùng mẹo
function isScrolledIntoView[elem]
{
var docViewTop = $[window].scrollTop[];
var docViewBottom = docViewTop + $[window].height[];
var elemTop = $[elem].offset[].top;
var elemBottom = elemTop + $[elem].height[];
return [[elemBottom = docViewTop]];
}
Chức năng tiện ích đơn giản Điều này sẽ cho phép bạn gọi một chức năng tiện ích chấp nhận phần tử bạn đang tìm kiếm và nếu bạn muốn phần tử được hiển thị đầy đủ hoặc một phần
Các lớp PDFReader và PDFStamper là thành viên của thư viện iTextSharp. Tôi đã sử dụng các lớp cùng nhau để lấy luồng cho đầu ra và cũng truy cập vào đối tượng PDFWriter cho phép tôi thêm JavaScript