У меня есть функция, которая объединяет PDF-файлы счетов-фактур в одну. Новый запрос заключается в том, что он не должен объединять документы счетов на основании номера счета, они должны быть отдельными счетами для этого счета. Есть несколько учетных записей, что их счета-фактуры не должны быть объединены. Они должны быть отдельными.
Я не хочу объединять счета для определенной c учетной записи.
Как не объединить файлы для определенной учетной записи c?
Я вижу файлы в локальной папке после выполнения этой функции, но с одним счетом, а не с другими
filesToMerge - It should count of files for the customer. I can see files but when it will only show
одна страница без других.
private void mergeDocumentsAndAddBooks(Document targetDocument, Dictionary<FinancialDocument,PdfDocument> filesToMerge)
{
int n;
PdfDocument pdfDoc = targetDocument.GetPdfDocument();
int pageNo = pdfDoc.GetNumberOfPages();
//Create bookmarks
PdfOutline docOutline = pdfDoc.GetOutlines(false);
//addedBookmarkForCoverPage(targetDocument, docOutline);
foreach (var entry in filesToMerge)
{
PdfOutline outline = docOutline.AddOutline(string.Format("{0}-Page 1 of 1", entry.Key.MetaData.DocumentNumber.ToString()));
string destinationText = "p" + entry.Key.MetaData.DocumentNumber;
outline.AddDestination(PdfDestination.MakeDestination(new PdfString(destinationText)));
//I have added this if statement trying to do the checks per account number
var accountNumber = "KER001";
if (accountNumber == "KER001")
{
Text text = new Text("");
targetDocument.Add(new Paragraph(text).SetFixedPosition(pageNo, 549, 870, 40));
}
else
{
//Now we go the number of pages to iterate/loop
n = entry.Value.GetNumberOfPages();
for (int i = 1; i <= n; i++)
{
pageNo++;
Text text = new Text("");
entry.Value.CopyPagesTo(i, i, pdfDoc);
if (i == 1)
{
text.SetDestination(destinationText);
}
targetDocument.Add(new Paragraph(text).SetFixedPosition(pageNo, 549, 870, 40));
}
}
}
}