Csv to image converter using Swift

Csv2ImageApp (MacOS App)

Convert Csv into png image.

Demo

  • Import Csv file from local computer.

  • Import Csv file from network resource.

Csv2Img (Library)

Convert Csv into png image.

Usage

You cloud convert csv into image in 3 ways.

  1. Via raw String.

 let rawCsv = """
 a,b,c
 1,2,3
 4,5,6
 7,8,9
 10,11,12
 """
let csv = Csv.fromString(rawCsv)
let image = csv.cgImage(fontSize: 12)
// or directly get data.
let data = csv.pngData(fontSize: 12)
 Output:
 | a  | b  | c  |
 | 1  | 2  | 3  |
 | 4  | 5  | 6  |
 | 7  | 8  | 9  |
 | 10 | 11 | 12 |
  1. Via Local file.

 let rawCsv = """
 a,b,c
 1,2,3
 4,5,6
 7,8,9
 10,11,12
 """
let url = URL(
    fileURLWithPath: "/Users/fumiyatanaka/Downloads/sample.csv"
)
rawCsv.data(using: .utf8)?.write(to: url)
// ----- ↑Just prepared for explanation. -----
let csv = Csv.fromFile(url)
let data = csv.pngData(fontSize: 12)
 Output:
 | a  | b  | c  |
 | 1  | 2  | 3  |
 | 4  | 5  | 6  |
 | 7  | 8  | 9  |
 | 10 | 11 | 12 |
  1. Via network resource

let rawCsv = """
 a,b,c
 1,2,3
 4,5,6
 7,8,9
 10,11,12
 """
let url = URL(
    string: "https://raw.githubusercontent.com/fummicc1/csv2img/main/Fixtures/sample_1.csv"
)
// ----- ↑Just prepared for explanation. -----
let csv = Csv.fromURL(url)
let data = csv.pngData(fontSize: 12)
 Output:
 | a  | b  | c  |
 | 1  | 2  | 3  |
 | 4  | 5  | 6  |
 | 7  | 8  | 9  |
 | 10 | 11 | 12 |

Csv2ImgCmd (CLI)

A command line tool which generates png-image from csv. (Using Csv2Img library)

Usage

Coomand line interface using Csv2Img library.

If you have a csv file on your computer, you cloud use this flag with --local, -l.

./Csv2ImgCmd --local ~/Downloads/sample.csv ./output.csv

If you would like to convert csv file on the internet, you cloud use this flag with --network, -n.

./Csv2ImgCmd --network \
https://raw.githubusercontent.com/fummicc1/csv2img/main/Sources/Csv2ImgCmd/Resources/sample_1.csv \
output.png

Contributing

Pull requests, bug reports and feature requests are welcome ?

License

MIT LICENSE

GitHub

View Github