file_compression_plus 0.0.5 copy "file_compression_plus: ^0.0.5" to clipboard
file_compression_plus: ^0.0.5 copied to clipboard

A comprehensive Flutter package for efficient compression of images and PDFs with support for multiple platforms and formats.

File Compression Plus #

A Flutter package for compressing various file types including images and PDFs. This package provides simple and efficient methods to reduce file sizes while maintaining acceptable quality.

Developed by Tisankan.

Features #

  • Image Compression: Compress JPG, PNG, and WebP images with customizable quality and dimensions
  • PDF Compression: Compress PDF files with different compression levels
  • Simple API: Easy-to-use methods with sensible defaults
  • Customizable: Configure compression parameters to suit your needs

Getting Started #

Add the package to your pubspec.yaml file:

dependencies:
  file_compression_plus: ^0.0.1

Then run:

flutter pub get

Usage #

Image Compression #

import 'dart:io';
import 'package:file_compression_plus/file_compression_plus.dart';

// Basic usage with default settings
Future<void> compressImageExample() async {
  File originalImage = File('path/to/image.jpg');
  File compressedImage = await FileCompressor.compressImage(
    file: originalImage,
  );
  print('Compressed image saved to: ${compressedImage.path}');
}

// Advanced usage with custom settings
Future<void> advancedImageCompression() async {
  File originalImage = File('path/to/image.png');
  File compressedImage = await FileCompressor.compressImage(
    file: originalImage,
    quality: 70,
    maxWidth: 1280,
    maxHeight: 720,
    format: ImageFormat.jpg, // Convert PNG to JPG
  );
  print('Compressed image saved to: ${compressedImage.path}');
}

PDF Compression #

import 'dart:io';
import 'package:file_compression_plus/file_compression_plus.dart';

// Basic usage with best compression
Future<void> compressPdfExample() async {
  File originalPdf = File('path/to/document.pdf');
  File compressedPdf = await FileCompressor.compressPdf(
    file: originalPdf,
  );
  print('Compressed PDF saved to: ${compressedPdf.path}');
}

// With custom compression level
Future<void> customPdfCompression() async {
  File originalPdf = File('path/to/document.pdf');
  File compressedPdf = await FileCompressor.compressPdf(
    file: originalPdf,
    compressionLevel: PdfCompressionLevel.normal,
  );
  print('Compressed PDF saved to: ${compressedPdf.path}');
}

Additional Information #

  • The compressed files are saved to the temporary directory by default
  • For production use, you may want to copy the compressed files to a permanent location
  • This package uses image_compression_flutter for image compression and syncfusion_flutter_pdf for PDF compression

License #

This project is licensed under the MIT License - see the LICENSE file for details.

1
likes
150
points
76
downloads

Publisher

verified publishertisankan.site

Weekly Downloads

A comprehensive Flutter package for efficient compression of images and PDFs with support for multiple platforms and formats.

Repository (GitHub)
View/report issues

Topics

#flutter #file-compression #image-compression #pdf-compression #flutter-package

Documentation

Documentation
API reference

License

MIT (license)

Dependencies

flutter, flutter_image_compress, js, path, path_provider, syncfusion_flutter_pdf, universal_io

More

Packages that depend on file_compression_plus