Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/rillke/fritzxml2vcard
Convert FRITZ!Box address book XML format to vcards. (Inofficial, not endorsed or supported by AVM)
https://github.com/rillke/fritzxml2vcard
address-book fritzbox node-js phonebook vcard xml-converter
Last synced: about 2 months ago
JSON representation
Convert FRITZ!Box address book XML format to vcards. (Inofficial, not endorsed or supported by AVM)
- Host: GitHub
- URL: https://github.com/rillke/fritzxml2vcard
- Owner: Rillke
- License: mit
- Created: 2018-08-19T20:21:40.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2023-06-12T11:56:53.000Z (over 1 year ago)
- Last Synced: 2024-11-12T23:50:47.618Z (2 months ago)
- Topics: address-book, fritzbox, node-js, phonebook, vcard, xml-converter
- Language: JavaScript
- Homepage: https://blog.rillke.com/fritzXML2vcard/
- Size: 7.98 MB
- Stars: 12
- Watchers: 2
- Forks: 0
- Open Issues: 4
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# fritzXML2vcard [![Build Status](https://api.travis-ci.com/Rillke/fritzXML2vcard.svg?branch=master)](https://travis-ci.com/Rillke/fritzXML2vcard)
Convert FRITZ!Box address book XML format to vCards.
## Web interface/ online version
An [online web-version is available](https://blog.rillke.com/fritzXML2vcard/). You may also [download the entire website](https://github.com/Rillke/fritzXML2vcard/zipball/gh-pages).
[![Screenshot Web interface/ online version](https://raw.githubusercontent.com/Rillke/fritzXML2vcard/gh-pages/img/web-tool-screenshot.png)](https://blog.rillke.com/fritzXML2vcard/)
## CLI user installation
Requires [nodejs and npm](https://nodejs.org/en/download/).
Install the [fritz-xml-2vcard](https://www.npmjs.com/package/fritz-xml-2vcard) package from npm.
```bash
npm i -g fritz-xml-2vcard
fritz-xml-2vcard /path/to/contact.xml /path/to/output/dir
```## Developer installation
```bash
git clone https://github.com/Rillke/fritzXML2vcard.git
cd fritzXML2vcard
npm install
npm run build
npm test
mkdir -p /path/to/output/dir
/path/to/node_or_nodejs ./convert.js /path/to/contact.xml /path/to/output/dir
```## Node.js API usage
```javascript
var libConvert = require('fritz-xml-2vcard');
// area code and country code are optional arguments
var result = libConvert.fritzXML2vcard(xmlString, '030', '+49');
for (var vcfFile in result) {
if (result.hasOwnProperty(vcfFile)) {
fs.writeFileSync(outputDir + '/' + vcfFile, result[vcfFile]);
}
}
```## Web Browser API usage
Get [fritzXML2vcard-browser-api-min.js](https://raw.githubusercontent.com/Rillke/fritzXML2vcard/gh-pages/fritzXML2vcard-browser-api-min.js) or [fritzXML2vcard-browser-api.js](https://raw.githubusercontent.com/Rillke/fritzXML2vcard/gh-pages/fritzXML2vcard-browser-api.js). Put it side by side with the following html file:
```html
Cool vcf converter.
var fritzXML = '<?xml version="1.0" encoding="utf-8"?>' +
'<phonebooks><phonebook name="Telefonbuch">' +
'<contact><person><realName>Test GmbH</realName></person>' +
'<telephony nid="2"><number type="work" prio="1" id="0">(01234) 567890</number>' +
'<number type="fax_work" prio="0" id="1">56789-2</number></telephony>' +
'</contact></phonebook></phonebooks>';
var vCards = window.libConvert.fritzXML2vcard(fritzXML, '030', '+49');
console.log(vCards);
for (var vcfFile in vCards) {
if (vCards.hasOwnProperty(vcfFile)) {
alert(vcfFile + ': ' + vCards[vcfFile]);
}
}
```
## Other tools
| Tool | Language / Plattform | Web-Version | Import | Export | License |
|----------------------------------------------------------------------------------|-------------------------------------------------------------------------|----------------------------------------------|----------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------|--------|
| [Contact-Conversion-Wizard](https://github.com/Rillke/Contact-Conversion-Wizard) | C# easy to run on Windows; MacOS and Linux possible | - | Outlook, Fritz!Box XML, vCard, Fritz!Adr, CSV, Google Contacts | Outlook, Fritz!Box XML, vCard, Fritz!Adr, Snom v7, Snom v8, Gigaset Talk&Surf CSV, Asstra, Grandstream, Auerswald, Google Contacts | GPLv3 |
| [fritzXML2vcard](https://github.com/Rillke/fritzXML2vcard) | JavaScript - Node.js Almost all operating systems | [available](https://blog.rillke.com/fritzXML2vcard/) | Fritz!Box XML | vCard(s) | MIT |
| [vcard2fritzXML](https://github.com/berkholz/vcard2fritzXML) | Java - Almost all operating systems | - | vCard | Fritz!Box XML | GPLv2 |