developpement:dotnet:packages_et_outils_interessants
Table des matières
JSON.NET de NewtonSoft
Sérialiser un objet anonyme
string data = JsonConvert.SerializeObject(new { value1 = "value", value2 = "value" });
Désérialiser
string jsonData = File.ReadAllText(fullName); RecoveryPasswordData recoveryData = JsonConvert.DeserializeObject<RecoveryPasswordData>(jsonData);
Lire les CSV en C#
Le plus simple pour lire les CSV c'est d'utiliser un package Nuget FileHelpers.
DotNetZip
DotNetZip est remplacé par
System.IO.Compression
.
Décompresser un fichier XML en mémoire
string xlsxFile = @"N:\FichierExcelImportant.xlsx"; ZipFile zipFile = ZipFile.Read(xlsxFile); ZipEntry zipEntry = zipFile["xl/workbook.xml"]; List<string> xmlContents = new List<string>(); using (var ms = new MemoryStream()) { zipEntry.Extract(ms); ms.Position = 0; var sr = new StreamReader(ms); var myStr = sr.ReadToEnd(); xmlContents.Add(myStr); } xmlContents.Select(x => x).First().Dump();
iText7
Ouvrir et fermer document
PdfDocument pdfDoc = new PdfDocument(new PdfReader(src), new PdfWriter(dest)); // Manipulations pdfDoc.Close();
Registered Fonts
var registeredFonts = FontProgramFactory.GetRegisteredFonts(); registeredFonts.Dump(); // LinqPad PdfFont font = PdfFontFactory.CreateRegisteredFont("times-roman");
Enregistrer une police:
FontProgramFactory.RegisterFont( Path.Combine(Path.GetDirectoryName(Util.CurrentQueryPath), "my_fonts", "my-font.otf"), "myfont"); // Par la suite on peut utiliser la font: PdfFont myfont = PdfFontFactory.CreateRegisteredFont("myfont");
Ajouter du texte
Color colorBlue = new DeviceRgb(0, 0, 255); // using PdfCanvas canvas = new PdfCanvas(pdfDoc.GetFirstPage()); canvas .BeginText() .SetFontAndSize(PdfFontFactory.CreateRegisteredFont("times"), 8f) .MoveText(100.4d, 230d) .ShowText("Texte ajouté") .EndText() .BeginText() // Rien nous empêche de continuer à chainer du nouveau texte .SetFillColor(colorBlue) .SetFontAndSize(PdfFontFactory.CreateFont(StandardFonts.HELVETICA), 12) .MoveText(429.4d, 100d) .ShowText("Autre texte en bleu") .EndText();
Références using
Ils ne sont pas nécessairement tous utilisés, mais ce sont ceux ajoutés pour des cas simples de manipulation de documents:
Références:
using iText.IO.Font; using iText.IO.Font.Constants; using iText.Kernel.Colors; using iText.Kernel.Font; using iText.Kernel.Pdf; using iText.Kernel.Pdf.Canvas; using iText.Layout; using iText.Layout.Element;
developpement/dotnet/packages_et_outils_interessants.txt · Dernière modification : 2024/09/11 03:06 de sgariepy