https://github.com/nottimtam/file-converter-core
Core file conversion modules for @nottimtam/file-converter.
https://github.com/nottimtam/file-converter-core
api conversion express file file-converter module
Last synced: 2 months ago
JSON representation
Core file conversion modules for @nottimtam/file-converter.
- Host: GitHub
- URL: https://github.com/nottimtam/file-converter-core
- Owner: NotTimTam
- License: mit
- Created: 2024-09-10T02:31:31.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-09-13T23:21:21.000Z (over 1 year ago)
- Last Synced: 2025-03-26T19:11:08.515Z (12 months ago)
- Topics: api, conversion, express, file, file-converter, module
- Language: JavaScript
- Homepage: https://www.npmjs.com/package/@nottimtam/file-converter-core
- Size: 89.8 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# @nottimtam/file-converter-core
Core file conversion modules for [@nottimtam/file-converter](https://www.npmjs.com/package/@nottimtam/file-converter).
## Installation
```terminal
npm i @nottimtam/file-converter @nottimtam/file-converter-core
```
## Usage
See [file-converter](https://github.com/NotTimTam/file-converter) for general implementation instructions. To implement these modules, add them to the modules array of your `FileConverter` constructor:
```js
import FileConverter from "@nottimtam/file-converter";
import CoreModules from "@nottimtam/file-converter-core";
const fileConverter = new FileConverter({
modules: [...CoreModules],
});
```
## Modules
You can use all the modules:
```js
import CoreModules from "@nottimtam/file-converter-core";
```
Or just the groups you need:
```js
import {
ImageModules,
DocumentModules,
VideoModules,
AudioModules,
} from "@nottimtam/file-converter-core";
```
_Do not use both `CoreModules` and a sub-group at the same time, or conflict errors will be thrown._
**NOTE:** To use the audio/video modules, you will need to have `ffmpeg` installed to the system your application is running on.
For a `Dockerfile`, you can add the line:
```Dockerfile
RUN apt-get update && apt-get install -y \
ffmpeg \
&& apt-get clean \
&& rm -rf /var/lib/apt/lists/*
```
If you do not want to use `AudioModules` or `VideoModules`, manually import the module groups you would like to use instead of using `CoreModules`
### ImageModules
- JPEGToPNG — `image/jpeg` to `image/png`
- JPEGToWebP — `image/jpeg` to `image/webp`
- JPEGToGIF — `image/jpeg` to `image/gif`
- JPEGToAVIF — `image/jpeg` to `image/avif`
- JPEGToTIFF — `image/jpeg` to `image/tiff`
- PNGToJPEG — `image/png` to `image/jpeg`
- PNGToWebP — `image/png` to `image/webp`
- PNGToGIF — `image/png` to `image/gif`
- PNGToAVIF — `image/png` to `image/avif`
- PNGToTIFF — `image/png` to `image/tiff`
- WebPToPNG — `image/webp` to `image/png`
- WebPToJPEG — `image/webp` to `image/jpeg`
- WebPToGIF — `image/webp` to `image/gif`
- WebPToAVIF — `image/webp` to `image/avif`
- WebPToTIFF — `image/webp` to `image/tiff`
- GIFToPNG — `image/gif` to `image/png`
- GIFToWebP — `image/gif` to `image/webp`
- GIFToJPEG — `image/gif` to `image/jpeg`
- GIFToAVIF — `image/gif` to `image/avif`
- GIFToTIFF — `image/gif` to `image/tiff`
- AVIFToPNG — `image/avif` to `image/png`
- AVIFToWebP — `image/avif` to `image/webp`
- AVIFToGIF — `image/avif` to `image/gif`
- AVIFToJPEG — `image/avif` to `image/jpeg`
- AVIFToTIFF — `image/avif` to `image/tiff`
- TIFFToPNG — `image/tiff` to `image/png`
- TIFFToWebP — `image/tiff` to `image/webp`
- TIFFToGIF — `image/tiff` to `image/gif`
- TIFFToAVIF — `image/tiff` to `image/avif`
- TIFFToJPEG — `image/tiff` to `image/jpeg`
---
### DocumentModules
- ImageToPDF — `image/jpeg`, `image/png` to `application/pdf`
- PDFToTXT — `application/pdf` to `text/plain`
- PDFToHTML — `application/pdf` to `text/html`
- PDFToDOCX — `application/pdf` to `application/vnd.openxmlformats-officedocument.wordprocessingml.document`
- TXTToPDF — `text/plain` to `application/pdf`
- TXTToDOCX — `text/plain` to `application/vnd.openxmlformats-officedocument.wordprocessingml.document`
- TXTToHTML — `text/plain` to `text/html`
- HTMLToTXT — `text/html` to `text/plain`
- DOCXToTXT — `application/vnd.openxmlformats-officedocument.wordprocessingml.document` to `text/plain`
- DOCXToHTML — `application/vnd.openxmlformats-officedocument.wordprocessingml.document` to `text/html`
---
### AudioModules
- AudioToMP3 — `audio/x-wav`, `audio/x-flac`, `audio/ogg`, `audio/x-aiff` to `audio/mpeg`
- AudioToWAV — `audio/mpeg`, `audio/x-flac`, `audio/ogg`, `audio/x-aiff` to `audio/x-wav`
- AudioToFLAC — `audio/x-wav`, `audio/mpeg`, `audio/ogg`, `audio/x-aiff` to `audio/x-flac`
- AudioToOGG — `audio/x-wav`, `audio/x-flac`, `audio/mpeg`, `audio/x-aiff` to `audio/ogg`
- AudioToAIFF — `audio/x-wav`, `audio/x-flac`, `audio/ogg`, `audio/mpeg` to `audio/x-aiff`
---
### VideoModules
- VideoToMP4 — `video/x-msvideo`, `video/x-matroska`, `video/quicktime`, `video/webm`, `video/mpeg`, `video/3gpp` to `video/mp4`
- VideoToAVI — `video/mp4`, `video/x-matroska`, `video/quicktime`, `video/webm`, `video/mpeg`, `video/3gpp` to `video/x-msvideo`
- VideoToMOV — `video/x-msvideo`, `video/x-matroska`, `video/mp4`, `video/webm`, `video/mpeg`, `video/3gpp` to `video/quicktime`
- VideoToWEBM — `video/x-msvideo`, `video/x-matroska`, `video/quicktime`, `video/mp4`, `video/mpeg`, `video/3gpp` to `video/webm`
- VideoTo3GP — `video/x-msvideo`, `video/x-matroska`, `video/quicktime`, `video/webm`, `video/mpeg`, `video/mp4` to `video/3gpp`
---