Skip to content
Back to top

# Archive

only mutool run

## Constructors

class Archive(path)

  Create a new archive based either on a tar- or zip-file or the contents of a directory.

  Arguments:

    - path (`string`) – Path string to the archive file or directory.

      var archive1 = new mupdf.Archive("example1.zip")
      var archive2 = new mupdf.Archive("example2.tar")
      var archive3 = new mupdf.Archive("images/")

class Archive(buffer)

  Create a new archive based either on a tar- or zip-file contained in a buffer.

  Arguments:

    - buffer (`Buffer | ArrayBuffer | Uint8Array | string`) – Buffer containing a archive.

      var archive1 = new mupdf.Archive(fs.readFileSync("example1.zip"))
      var archive2 = new mupdf.Archive(fs.readFileSync("example1.tar"))

## Instance methods

Archive.prototype.getFormat()

  Returns a string describing the archive format.

  Returns:

    string

      var archive = new mupdf.Archive("example1.zip")
      print(archive.getFormat())

Archive.prototype.countEntries()

  Returns the number of entries in the archive.

  Returns:

    number

      var archive = new mupdf.Archive("example1.zip")
      var numEntries = archive.countEntries()

Archive.prototype.listEntry(idx)

  Returns the name of entry number idx in the archive, or null if idx is out of range.

  Arguments:

    - idx (`number`) – Entry index.

  Returns:

    string | null

      var archive = new mupdf.Archive("example1.zip")
      var entry = archive.listEntry(0)

Archive.prototype.hasEntry(name)

  Returns true if an entry of the given name exists in the archive.

  Arguments:

    - name (`string`) – Entry name to look for.

  Returns:

    boolean

      var archive = new mupdf.Archive("example1.zip")
      var hasEntry = archive.hasEntry("file1.txt")

Archive.prototype.readEntry(name)

  Returns the contents of the entry of the given name.

  Arguments:

    - name (`string`) – Name of entry to look for.

  Returns:

    Buffer

      var archive = new mupdf.Archive("example1.zip")
      var contents = archive.readEntry("file1.txt")

## Examples

    var archive = new mupdf.Archive("example1.zip")
    var n = archive.countEntries()
    for (var i = 0; i < n; ++i) {
            var entry = archive.listEntry(i)
            var contents = archive.readEntry(entry)
            console.log("entry", entry, contents.length)
    }