Nostalgic Pizza Manager

    png-chunk-text

    1.0.0 • Public • Published

    png-chunk-text

    stable

    Create or parse a PNG tEXt chunk for storing uncompressed text data in PNG images.

    Can be used in combination with png-chunks-extract and png-chunks-encode for adding and reading custom metadata in PNG images.

    Works in Node, or in the browser using browserify.

    Usage

    NPM

    chunk = text.encode(key, value)

    Returns a chunk object containing the metadata for a given key and value:

    {
      name: 'tEXt',
      data: Uint8Array([...])
    }
    const extract = require('png-chunks-extract')
    const encode = require('png-chunks-encode')
    const text = require('png-chunk-text')
    const path = require('path')
    const fs = require('fs')
     
    const buffer = fs.readFileSync(path.join(__dirname, 'test.png'))
    const chunks = extract(buffer)
     
    // Add new chunks before the IEND chunk
    chunks.splice(-1, 0, text.encode('hello', 'world'))
    chunks.splice(-1, 0, text.encode('lorem', 'ipsum'))
     
    fs.writeFileSync(
      path.join(__dirname, 'test-out.png'),
      new Buffer(encode(chunks))
    )

    data = text.decode(chunk)

    Reads a Uint8Array or Node.js Buffer instance containing a tEXt PNG chunk's data and returns its keyword/text:

    {
      keyword: 'hello',
      text: 'world'
    }
    const extract = require('png-chunks-extract')
    const text = require('png-chunk-text')
    const path = require('path')
    const fs = require('fs')
     
    const buffer = fs.readFileSync(path.join(__dirname, 'test-out.png'))
    const chunks = extract(buffer)
     
    const textChunks = chunks.filter(function (chunk) {
      return chunk.name === 'tEXt'
    }).map(function (chunk) {
      return text.decode(chunk.data)
    })
     
    console.log(textChunks[0].keyword) // 'hello'
    console.log(textChunks[0].text)    // 'world'
    console.log(textChunks[1].keyword) // 'lorem'
    console.log(textChunks[1].text)    // 'ipsum'

    See Also

    License

    MIT, see LICENSE.md for details.

    Install

    npm i png-chunk-text

    DownloadsWeekly Downloads

    3,561

    Version

    1.0.0

    License

    MIT

    Last publish

    Collaborators

    • hughsk