Tôi sử dụng Ghostscript để chuyển đổi tài liệu PDF sang PCL để in. Gần đây tôi có yêu cầu bổ sung là tất cả các trang phải được xoay sang Chân dung trước khi in. Tôi đã tìm thấy một cách để làm như vậy bằng cách sử dụng Ghostscript với lệnh sau đây và chức năng postscript.Ghostscript rotate pages
"C:\Program Files (x86)\gs\bin\gswin32c.exe" "-dNOPAUSE" "-dNOPROMPT" "-dBATCH" "-sDEVICE=pxlmono" "-Ic:\Program Files (x86)\gs\fonts\;c:\Program Files (x86)\gs\lib\;c:\Program Files (x86)\gs\lib\;" "-r300" "-sOutputFile=C:\EXPORTFILE_e542e04f-5e84-4c8e-9b41-55480cd5ec52.cache" "rotate612x792.ps" "C:\EXPORTFILE_3a5de9da-d9ca-4562-8cb6-10fb8715385a.cache"
Nội dung rotate612x792.ps
%! Rotate Pages
<< /Policies << /PageSize 5 >>
/PageSize [612 792]
/InputAttributes currentpagedevice
/InputAttributes get mark exch {1 index /Priority eq not {pop << /PageSize [612 792] >>} if } forall >>
>> setpagedevice
Vấn đề là chức năng này thay thế tất cả các kích cỡ trang với kích cỡ chữ. Tài liệu của tôi đôi khi là hợp pháp hoặc A4. Tôi đã cố gắng sửa đổi chức năng này để thay thế kích thước cảnh quan bằng đối tác chân dung của họ, nhưng không thể sản xuất chức năng postscript. Tôi cần phải được chỉ đúng hướng để tạo ra tương đương postscript của mã giả sau đây.
for(each page)
{
if(PageSize == [792 612])
PageSize = [612 792];
}
Tôi biết rằng không có Ghostscript cách xoay trang, nhưng nếu tôi có thể làm việc này phù hợp với quy trình của tôi và sẽ không giảm hiệu suất.
Đây là một mẫu của một trong những tập tin pdf của tôi: Sample1.pdf
tôi đã cố gắng kịch bản này và nó đã không tạo ra một lỗi, nhưng cũng không xoay các trang. Đây là mẫu của tệp pdf đầu vào. [https://docs.google.com/open?id=0B2LzHaZ9pUynWXc2X0J3M0RvN28](https://docs.google.com/open?id=0B2LzHaZ9pUynWXc2X0J3M0RvN28) – Zig158