可能重複:
Split A4 PDF page into two A5 and back again拆分A4頁面的PDF文件,A5頁面
我有一個PDF文件A4頁面如下所示:
我怎麼可能分裂的每個頁A4紙兩頁A5?
可能重複:
Split A4 PDF page into two A5 and back again拆分A4頁面的PDF文件,A5頁面
我有一個PDF文件A4頁面如下所示:
我怎麼可能分裂的每個頁A4紙兩頁A5?
如果此功能尚未通過一些現有的PDF工具執行,那麼這裏就是我如何與CAM::PDF處理這個問題的高級別頭腦風暴。我不確定它是否會起作用。
半關閉我的頭頂,我不知道如果多餘的cropbox內容將不可見,或者它會影響渲染...
更新:我實施了一個大多數工作,簡單的解決方案如下所示。它複製的頁面有問題,旋轉兩個副本,並設置每個裁剪框,選擇第一頁的左半部分和第二頁的右半邊。你可能不需要輪換在你的情況下,不確定。
#!/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);
困難的方法:使用ConTeXt/LuaTeX重新排列頁面。
合理的方法:組合pdf shuffler,PDFjam和或PDF Split & Merge應該完成這項工作。
或[JPDF TWEAK(HTTP:// jpdftweak .sourceforge.net /),或者... – 2011-02-27 16:26:22
與嘗試:
Briss解決方案非常完美,謝謝! – 2013-06-04 22:17:18
很喜歡http://stackoverflow.com/questions/3085930/split-a4-pdf-page-into-two-a5-and-back-again – 2011-08-03 05:45:52