Как объединить несколько PDF-файлов формата A4 в формат A3 PDF с помощью C # - PullRequest
0 голосов
/ 31 января 2019

Здесь я хочу объединить два отдельных PDF-файла формата A4 в формат PDF формата A3. Страницы формата PDF формата A4 должны быть помещены в виде двух страниц формата A3, расположенных рядом друг с другом.

Я еще ни разу не пробовал кодно прежде чем я хочу знать, возможно ли это?

Примечание: PDF-файлы формата A4 могут иметь число страниц N, а не одностраничный PDF.

Вот пример графического изображения:

enter image description here

Ответы [ 2 ]

0 голосов
/ 01 февраля 2019

Вы можете объединить два документа PDF в один документ PDF, содержащий все страницы формата A4.Затем вы можете использовать метод MakeNUp, который предоставляется классом PdfFileEditor, чтобы получить 1 строку и 2 столбца в выходном документе формата A3.Ниже приведен фрагмент кода, представляющий базовую реализацию предлагаемого подхода:

// Open first document
Document pdfDocument1 = new Document(dataDir + "PDF1.pdf");
// Open second document
Document pdfDocument2 = new Document(dataDir + "PDF2.pdf");
// Add pages of second document to the first OR vice versa
pdfDocument1.Pages.Add(pdfDocument2.Pages);
// Save concatenated output file
pdfDocument1.Save(dataDir + "Concatenate.pdf");

//Final step of organizing pages as per your requirements
PdfFileEditor editor = new PdfFileEditor();
editor.MakeNUp(dataDir + "Concatenate.pdf", dataDir + "output.pdf", 2, 1 , PageSize.A3);

Для получения более подробной информации и информации, вы можете посетить следующие ссылки:

PS: я работаю с Aspose как Developer Evangelist.

0 голосов
/ 31 января 2019

В этих официальных примерах iText хорошо объясняется, как этого добиться:

iText7 https://github.com/itext/i7js-examples/blob/develop/src/test/java/com/itextpdf/samples/sandbox/merge/MakeBookletA3.java

iText5 https://github.com/itext/i5js-sandbox/blob/master/src/main/java/sandbox/merge/MakeBookletA3.java

Код написан на Java, но естьДолжно быть никаких проблем с портированием примеров на C #, потому что API совершенно одинаковый.

...