2011-02-27 32 views

Trả lời

1

Nếu chức năng này chưa được thực hiện bởi một số công cụ PDF hiện có, thì đây là một phân tích cấp cao về cách tôi tiếp cận vấn đề với CAM::PDF. Tôi không chắc liệu nó có hiệu quả không.

  • lặp lại trong các trang
  • xoay nội dung
  • thiết lập các hộp cây trồng cho từng trang để chỉ một nửa số lãi

Off đỉnh đầu của tôi Tôi không biết nếu nội dung ngoài cropbox thêm sẽ là vô hình, hoặc nếu nó sẽ ảnh hưởng đến render ...

UPDATE: Tôi đã thực hiện một phần lớn, làm việc đơn giản solu tion, như sau. Nó trùng lặp các trang trong câu hỏi, quay cả hai bản sao, và đặt CropBox trên mỗi, chọn nửa trái cho trang đầu tiên và nửa bên phải của trang thứ hai. Bạn có thể không cần quay trong trường hợp của bạn, không chắc chắn.

#!/usr/bin/perl 
use strict; 
use warnings; 
use CAM::PDF; 
my $pdffile = 't/sample1.pdf'; 
my $pdfout = 'temp2.pdf'; 
my $pagenum = 1; 

my $pdf = CAM::PDF->new($pdffile) or die $CAM::PDF::errstr; 

my ($objnum, $gennum) = $pdf->getPageObjnum($pagenum); 
my $pagedict = $pdf->getPage($pagenum); 
$pagedict->{Rotate} = CAM::PDF::Node->new('number', 90); 
my $oldbox = $pdf->getValue($pagedict->{CropBox} || $pagedict->{MediaBox}); 
my @box = map {$pdf->getValue($_)} @{$oldbox}; 
$pagedict->{CropBox} = CAM::PDF::Node->new('array', [ 
    map {CAM::PDF::Node->new('number', $_)} $box[0], $box[1], $box[2], ($box[3]+$box[1])/2 
]); 

my $duplicate = CAM::PDF->new($pdffile) or die $CAM::PDF::errstr; 
$duplicate->extractPages($pagenum); 
$pdf->appendPDF($duplicate); # appends at end instead of inserting                         

$pagedict = $pdf->getPage($pdf->numPages()); 
$pagedict->{Rotate} = CAM::PDF::Node->new('number', 90); 
$pagedict->{CropBox} = CAM::PDF::Node->new('array', [ 
    map {CAM::PDF::Node->new('number', $_)} $box[0], ($box[3]+$box[1])/2, $box[2], $box[3] 
]); 

if ($objnum) { 
    $pdf->{changes}->{$objnum} = 1; 
} 
$pdf->cleanoutput($pdfout); 
2

Cách cứng: sử dụng ConTeXt/LuaTeX để sắp xếp lại các trang.

Cách hợp lý: kết hợp pdf shuffler, PDFjam và hoặc PDF Split & Merge sẽ thực hiện công việc.

+0

Hoặc [jPDF Tweak] (http: // jpdftweak .sourceforge.net /), hoặc ... –

7

Hãy thử với:

  • Briss (freeware) Dễ sử dụng, chỉ kéo và thả hình chữ nhật để tạo trang mới.
  • A-PDF Page Cut (phần mềm chia sẻ) Không biết ... nó thêm hình mờ vào các trang mới.
+1

Giải pháp Briss hoạt động hoàn hảo, cảm ơn! –

Các vấn đề liên quan