Skip to main content

clipboard_file 0.1.2 copy "clipboard_file: ^0.1.2" to clipboard
clipboard_file: ^0.1.2 copied to clipboard

Read and copy files from the system clipboard on iOS and Android, including images, PDFs, Office documents, and CSV.

clipboard_file #

pub package License: MIT

A Flutter plugin to read and copy files from the system clipboard on iOS and Android.

Use it when your app needs to accept pasted files — images, PDFs, Office documents, CSV, and other common types — while still allowing plain-text clipboard content to fall through to normal text paste.

Features #

  • Read files and images from the clipboard with a single API
  • Copy PNG/JPEG image bytes to the clipboard
  • Preserve original filenames when the platform provides them
  • Return null for plain text so you can combine file paste with standard text paste

Supported file types #

Type Extensions
Images png, jpg, jpeg, heic (iOS)
Documents pdf, doc, docx, ppt, pptx, xls, xlsx
Text files csv, txt

Detection uses MIME types, file extensions, and magic-byte signatures where available.

Installation #

Add clipboard_file to your pubspec.yaml:

dependencies:
  clipboard_file: ^0.1.2

Then run:

flutter pub get

Usage #

Import the package:

import 'package:clipboard_file/clipboard_file.dart';

Read a file from the clipboard #

final file = await ClipboardFileReader.readFile();

if (file != null) {
  print('Name: ${file.fileName ?? 'unnamed.${file.extension}'}');
  print('Extension: ${file.extension}');
  print('Size: ${file.bytes.length} bytes');

  // Save, upload, or process file.bytes
} else {
  // No file on the clipboard — fall back to text paste if needed
}

Copy an image to the clipboard #

await ClipboardFileReader.copyImage(pngOrJpegBytes);

On Android, bytes must decode as a valid PNG or JPEG image.

API reference #

ClipboardFileReader.readFile() #

Returns Future<ClipboardFileData?>.

  • Returns file data when the clipboard contains a supported file or image
  • Returns null when the clipboard is empty, contains plain text, or the platform cannot read the content
  • Never throws — platform errors are handled and surfaced as null

ClipboardFileReader.copyImage(Uint8List bytes) #

Copies image bytes to the system clipboard as a PNG image.

ClipboardFileData #

Field Type Description
bytes Uint8List Raw file contents
extension String Lowercase extension without a dot (e.g. pdf)
fileName String? Original filename when available

Platform behavior #

iOS #

  • Uses UIPasteboard, NSItemProvider, and suggestedName for filenames
  • Supports file URLs, images, PDFs, Office Open XML documents, and CSV
  • Minimum deployment target: iOS 13.0

Android #

  • Reads content:// URIs from the clipboard
  • CSV copied as a file is read as file data; copied cell content still pastes as plain text
  • copyImage uses a FileProvider merged automatically from the plugin manifest — no extra Android setup is required in your app

Example #

See the example/ app for a minimal demo:

cd example
flutter run

Copy a file or screenshot to your device clipboard, then tap Read clipboard file in the example app.

Contributing #

Contributions are welcome. Please open an issue or pull request on GitHub.

License #

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

2
likes
0
points
651
downloads

Publisher

unverified uploader

Weekly Downloads

Read and copy files from the system clipboard on iOS and Android, including images, PDFs, Office documents, and CSV.

Repository (GitHub)
View/report issues

Topics

#clipboard #flutter-plugin #file #ios #android

License

unknown (license)

Dependencies

flutter

More

Packages that depend on clipboard_file

Packages that implement clipboard_file