Voor een project wens ik een inventaris te maken aan de hand van iTextSharp.
Deze inventaris dient afhankelijk van de data in de databank opgesteld te worden.
Het maken van de PDF afhankelijk van de data is geen probleem en is me doorgaans altijd gelukt.
Het probleem zit hem in het gebruiken van een pdf als template.
Op de template staat het logo en de gegevens van het bedrijf met daarbij reeds een beetje opmaak.
Nu wens ik de content van deze pdf te gaan gebruiken als achtergrond op iedere pagina.
Dit is me doorgaans al gelukt aan de hand van een afbeelding als achtergrond. Maar om later eenvoudiger gegevens te wijzigen geef ik de voorkeur aan een pdf.
Na wat zoekwerk kwam ik uit op enkel voorbeelden. Deze voorbeelden gebruikten echter een pdf-form.
Aangezien ik een tabel wens toe te voegen lijkt mij dit niet mogelijk aan de hand van die code.
Heb ik het ergens mis of kan iemand me helpen?
De huidige code die ik nu heb maakt dus gebruik van de voorbeelden op pdf-forms. Dus met een stamper enzo. Toen merkte ik op dat ik de tabel dus nergens kan toevoegen.
Deze inventaris dient afhankelijk van de data in de databank opgesteld te worden.
Het maken van de PDF afhankelijk van de data is geen probleem en is me doorgaans altijd gelukt.
Het probleem zit hem in het gebruiken van een pdf als template.
Op de template staat het logo en de gegevens van het bedrijf met daarbij reeds een beetje opmaak.
Nu wens ik de content van deze pdf te gaan gebruiken als achtergrond op iedere pagina.
Dit is me doorgaans al gelukt aan de hand van een afbeelding als achtergrond. Maar om later eenvoudiger gegevens te wijzigen geef ik de voorkeur aan een pdf.
Na wat zoekwerk kwam ik uit op enkel voorbeelden. Deze voorbeelden gebruikten echter een pdf-form.
Aangezien ik een tabel wens toe te voegen lijkt mij dit niet mogelijk aan de hand van die code.
Heb ik het ergens mis of kan iemand me helpen?
De huidige code die ik nu heb maakt dus gebruik van de voorbeelden op pdf-forms. Dus met een stamper enzo. Toen merkte ik op dat ik de tabel dus nergens kan toevoegen.
C#: code_iTextSharp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
| public void PrintInventory(string path, MemoryStream ms) { VoorraadService vService = new VoorraadService(); PdfReader reader; PdfStamper stamper; Document document = new Document(PageSize.A4, (float)28.3464567, (float)28.3464567, (float)60.3307087, (float)30.3307087); try { PdfCopy copy = new PdfCopy(document, ms); document.Open(); var stock = vService.GetInventaris(); while(stock.Count >0) { reader = new PdfReader(path + "\\Images\\Inventaris_Template.pdf"); MemoryStream mscopy = new MemoryStream(); stamper = new PdfStamper(reader, mscopy); PdfPTable table = new PdfPTable(5); table.WidthPercentage = 100; for (int i = 0; i < 15; i++) { table.AddCell(new Phrase(stock[0].ArtikelID)); table.AddCell(new Phrase(stock[0].ExternArtikelID)); table.AddCell(new Phrase(stock[0].Naam)); table.AddCell(new Phrase(stock[0].Aankoopprijs.ToString())); table.AddCell(new Phrase(stock[0].Aantal.ToString())); table.AddCell(new Phrase(stock[0].Totaal.ToString())); stock.Remove(stock[0]); } stamper.Close(); reader = new PdfReader(mscopy); copy.AddPage(copy.GetImportedPage(reader, 1)); } } catch (Exception e) { } document.Close(); } |