thể trùng lặp:
Split A4 PDF page into two A5 and back againtrang Chia A4 trong một tập tin PDF sang các trang A5
Tôi có trang A4 trong một tập tin PDF như sau:
Làm cách nào tôi có thể chia từng trang A4 thành hai trang A5?
thể trùng lặp:
Split A4 PDF page into two A5 and back againtrang Chia A4 trong một tập tin PDF sang các trang A5
Tôi có trang A4 trong một tập tin PDF như sau:
Làm cách nào tôi có thể chia từng trang A4 thành hai trang A5?
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.
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);
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.
Hoặc [jPDF Tweak] (http: // jpdftweak .sourceforge.net /), hoặc ... –
Hãy thử với:
Giải pháp Briss hoạt động hoàn hảo, cảm ơn! –
khá giống như http://stackoverflow.com/questions/3085930/split-a4-pdf-page-into-two-a5-and-back-again –