let rawCsv = """
a,b,c
1,2,3
4,5,6
7,8,9
10,11,12
"""
let csv = Csv.loadFromString(rawCsv)
let image = try await csv.generate(exportType: .png)
Output:
| a | b | c |
| 1 | 2 | 3 |
| 4 | 5 | 6 |
| 7 | 8 | 9 |
| 10 | 11 | 12 |
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.loadFromDisk(url)
let data = try await csv.generate(fontSize: 12, exportType: .png)
Output:
| a | b | c |
| 1 | 2 | 3 |
| 4 | 5 | 6 |
| 7 | 8 | 9 |
| 10 | 11 | 12 |
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.loadFromNetwork(url)
let data = try await csv.generate(fontSize: 12, exportType: .png)
Output:
| a | b | c |
| 1 | 2 | 3 |
| 4 | 5 | 6 |
| 7 | 8 | 9 |
| 10 | 11 | 12 |
Output Image
CsvBuilder (Helper Library for Csv2Img)
A helper library to generate Csv in Csv2Img library.
How to use
Define custom type that conforms to CsvComposition.
import Foundation
import Csv2Img
public struct CsvCompositionExample: CsvComposition {
@CsvRows(column: "age")
public var ages: [String]
@CsvRows(column: "name")
public var names: [String]
public init() { }
}
Build Csv
let composition: CsvCompositionExample = .init()
composition.ages.append(contentsOf: ["98", "99", "100"])
composition.names.append(contentsOf: ["Yamada", "Tanaka", "Sato"])
let csv = try! composition.build()
or you can write different way like the below.
let yamada = Csv.Row(index: 0, values: ["98", "Yamada"])
let tanaka = Csv.Row(index: 1, values: ["99", "Tanaka"])
let sato = Csv.Row(index: 2, values: ["100", "Sato"])
let csv = try! CsvCompositionParser.parse(type: CsvCompositionExample.self, rows: [yamada, tanaka, sato,])
Result
Csv2ImgCmd (CLI)
A command line tool which generates png-image from csv. (Using Csv2Img library)
Csv2ImageApp
Convert Csv into png image.
iOS App
Demo
MacOS App
Demo
Csv2Img (Library)
Convert Csv into png image.
Usage
You cloud convert csv into image / pdf in 3 ways.
String
.Output Image
CsvBuilder (Helper Library for Csv2Img)
A helper library to generate
Csv
in Csv2Img library.How to use
CsvComposition
.Csv
or you can write different way like the below.
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
.If you would like to convert csv file on the internet, you cloud use this flag with
--network
,-n
.Contributing
Pull requests, bug reports and feature requests are welcome 🚀
License
MIT LICENSE