[chore:] initial rs pdf page builder
This commit is contained in:
+46
-1
@@ -104,6 +104,11 @@ public class PdfBuilder
|
||||
addresses.Add(addr);
|
||||
}
|
||||
|
||||
if (addresses.Count == 0)
|
||||
{
|
||||
MessageBox.Show(MainWindow._instance, "Keine validen Adressen konnten generiert werden. Abbruch.", "Fehler");
|
||||
return;
|
||||
}
|
||||
CreateAddressLabelPdfWithPlaceholder(addresses, placeholderText, outputPath);
|
||||
|
||||
if (_settings.exportRunningSheets)
|
||||
@@ -405,7 +410,47 @@ public class PdfBuilder
|
||||
path = path + "-Laufzettel.pdf";
|
||||
}
|
||||
|
||||
|
||||
CreateRunningSheets(setID, path);
|
||||
|
||||
}
|
||||
|
||||
public void CreateRunningSheets(int setID, string path)
|
||||
{
|
||||
KasAddressList list = Settings._instance.addressSets.GetAddressSetByID(setID);
|
||||
var document = new PdfDocument();
|
||||
document.Info.Title = $"Laufzettel für {list.Name}";
|
||||
document.Info.Subject = "powered by logofclient";
|
||||
document.Info.Author = "logofclient";
|
||||
|
||||
int margin = 50;
|
||||
|
||||
List<(int, int)> grouped_nums = GroupAddresses(setID);
|
||||
|
||||
var page = document.AddPage();
|
||||
page.Size = PageSize.A4;
|
||||
|
||||
var gfx = XGraphics.FromPdfPage(page);
|
||||
|
||||
var width = page.Width.Point-margin;
|
||||
var height = page.Height.Point-margin;
|
||||
gfx.DrawLine(XPens.Black, margin, margin, margin, height);
|
||||
gfx.DrawLine(XPens.Black, margin, margin, width, margin);
|
||||
gfx.DrawLine(XPens.Black, width, margin, margin, height);
|
||||
gfx.DrawLine(XPens.Black, margin, height, width, margin);
|
||||
|
||||
var font = new XFont("Times New Roman", 20, XFontStyleEx.BoldItalic);
|
||||
|
||||
gfx.DrawString($"Versand {list.Name}", font, XBrushes.Black,
|
||||
new XRect(0, 0, page.Width.Point, page.Height.Point), XStringFormats.Center);
|
||||
|
||||
|
||||
document.Save(path);
|
||||
}
|
||||
|
||||
public List<(int, int)> GroupAddresses(int setID)
|
||||
{
|
||||
|
||||
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user