bolorundurowb / vCardLib

📇 A .NET standard library for reading and writing vCard files
https://github.com/bolorundurowb/vCardLib/blob/master/README.md
MIT License
27 stars 15 forks source link
c-sharp library vcard vcf

vCardLib: A vCard (.vcf) Processing Library

NuGet Badge Coverage Status [NET Standard]() [NET Standard]() License: MIT


This library provides functionality for working with vCard files.

Features:

Branches:

Important: The master branch may contain unstable code and is not recommended for production use.

Improvements:

I hope this improved markdown is helpful!

How to use this library:

First get this package from nuget via your package manager:

Install-Package vCardLib.dll

or

dotnet add package vCardLib.dll

For Deserialization

Deserialize from a file

string filePath = // path to vcf file;
IEnumerable<vCard> contacts = vCardDeserializer.FromFile(filePath);

Deserialize from a Stream

var stream = // generate stream containing serialized vcards
IEnumerable<vCard> contacts = vCardDeserializer.FromStream(stream);

Deserialize from a string

var contactDetails = @"BEGIN:VCARD
VERSION:2.1
N:John;Doe;;;
END:VCARD";
IEnumerable<vCard> contacts = vCardDeserializer.FromContent(contactDetails);

For Serialization

Serialize as string

var vcard = new vCard(vCardVersion.v2)
{
    FormattedName = "John Doe"
};
var serialized = vCardSerializer.Serialize(vcard);

/*
BEGIN:VCARD
VERSION:2.1
REV:20230719T001838Z
FN:John Doe
END:VCARD
 */

Serialize with an override

This allows a vcard to get serialized to a different version

var vcard = new vCard(vCardVersion.v2)
{
    FormattedName = "John Doe"
};
var serialized = vCardSerializer.Serialize(vcard, vCardVersioon.v4);

/*
BEGIN:VCARD
VERSION:4.0
REV:20230719T001838Z
FN:John Doe
END:VCARD
 */

Contributors

A huge thank you to these wonderful people who took time to contribute to this project.


@bolorundurowb, @crowar , @rmja, @JeanCollas