_ProgProg_ Ответов: 1

Объединить два массива байтов в один pdf файл


Дорогие,

У меня есть два массива байтов, каждый из которых представляет собой отчет одной страницы.
я хочу объединить их и создать pdf-отчет из двух страниц.

как я могу это сделать?

Что я уже пробовал:

byte[] bytes = ReportViewer1.LocalReport.Render("PDF", null, out mimeType, out encoding, out extension1, out streamIds, out warnings);
byte[] bytes1 = ReportViewer2.LocalReport.Render("PDF", null, out mimeType, out encoding, out extension1, out streamIds, out warnings);

byte[] newByteArray2 = bytes.Concat(bytes1).ToArray();

System.IO.File.WriteAllBytes("C://MyNewReport.pdf", newByteArray2);

[no name]

http://stackoverflow.com/questions/114692/reportviewer-localreport-merge-reports

[no name]

Или вы можете создать как ваш пример выше и создать 2 PDF-файла, а затем объединить их с помощью iTextSharp : http://weblogs.sqlteam.com/mladenp/archive/2014/01/10/simple-merging-of-pdf-documents-with-itextsharp-5-4-5.aspx

1 Ответов

Рейтинг:
0

OriginalGriff

Простое объединение байтовых массивов не принесет ничего полезного - DPF - это формат "контейнера", поэтому простое" скрепление " двух контейнеров вместе не приведет к созданию одного большого контейнера. Не больше, чем сшивание двух мешков сахара вместе создаст больший мешок, полный вдвое большего количества сахара...

Взгляните на это: Разделение и слияние PDF-файлов в C# с помощью iTextSharp[^]


_ProgProg_

Не могу ли я объединить два байтовых массива и затем сохранить их???

OriginalGriff

Нет.
Они содержат не только текст страницы, но и "весь пакет", который составляет PDF-документ. Если вы просто втиснете два массива вместе, вы получите два разных пакета один за другим, и читатель PDF не знает, что с ними делать.
Что вам нужно сделать, так это создать новый документ, содержащий обе страницы.

_ProgProg_

Да, это то, что я хочу, а именно создать новый документ, содержащий обе страницы, не создавая pdf для каждого байтового массива. Я имею в виду использование двухбайтовых массивов непосредственно для создания нового документа.
Это применимо?

OriginalGriff

Перейдите по ссылке и начните читать!