Duplicar posibles:
Split A4 PDF page into two A5 and back againpáginas de Split A4 en un archivo PDF a páginas A5
Tengo páginas A4 en un archivo PDF como el siguiente:
¿Cómo podría dividir cada página A4 en dos páginas A5?
Duplicar posibles:
Split A4 PDF page into two A5 and back againpáginas de Split A4 en un archivo PDF a páginas A5
Tengo páginas A4 en un archivo PDF como el siguiente:
¿Cómo podría dividir cada página A4 en dos páginas A5?
Si esta herramienta aún no la realiza alguna herramienta PDF existente, aquí hay una lluvia de ideas de alto nivel sobre cómo abordaría el problema con CAM::PDF. No estoy seguro de si funcionaría.
De la parte superior de mi cabeza que no sé si el contenido fuera de la caja de cultivo adicional sería invisible, o si afectaría el procesamiento ...
ACTUALIZÉ: Implementé una solución simplista que funciona en gran medida ción, como sigue. Duplica la página en cuestión, rota ambas copias y establece el CropBox en cada una, eligiendo la mitad izquierda de la primera página y la mitad derecha de la segunda página. Es posible que no necesite la rotación en su caso, no estoy seguro.
#!/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);
La manera difícil: utilice ConTeXt/LuaTeX para reorganizar las páginas.
La manera razonable: una combinación de pdf shuffler, PDFjam y PDF Split & Merge debería hacer el trabajo.
O [jPDF Tweak] (http: // jpdftweak .sourceforge.net /), o ... –
Pruebe con:
La solución de Briss funcionó perfectamente, ¡gracias! –
absolutamente como http://stackoverflow.com/questions/3085930/split-a4-pdf-page-into-two-a5-and-back-again –