pdf_to_image_converter

Creator: coderz1093

Last updated:

0 purchases

pdf_to_image_converter Image
pdf_to_image_converter Images
Add to Cart

Description:

pdf to image converter

pdf_to_image_converter #
A Flutter package to convert PDF pages to images and save them to the gallery.
Features #

Select a PDF file from the device.
Render PDF pages as images.
Save rendered images to the device's gallery.

Installation #

Add the latest version of package to your pubspec.yaml (and rundart pub get):

dependencies:
pdf_to_image_converter: ^0.0.2
copied to clipboard

Import the package and use it in your Flutter App.

import 'package:pdf_to_image_converter/pdf_to_image_converter.dart';
copied to clipboard
Example #
The pdf_to_image_converter package allows you to select a PDF file, render its pages as images, and save them to the gallery.




import 'dart:typed_data';
import 'package:flutter/material.dart';
import 'package:pdf_to_image_converter/pdf_to_image_converter.dart';

void main() {
runApp(const MyApp());
}

class MyApp extends StatelessWidget {
const MyApp({super.key});

@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'PDF to Image Converter',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: const PdfToImageScreen(),
);
}
}

class PdfToImageScreen extends StatefulWidget {
const PdfToImageScreen({super.key});

@override
State<PdfToImageScreen> createState() => _PdfToImageScreenState();
}

class _PdfToImageScreenState extends State<PdfToImageScreen> {
final PdfImageConverter _converter = PdfImageConverter();
Uint8List? _image;

void _showSnackbar(String message) {
ScaffoldMessenger.of(context).showSnackBar(
SnackBar(
content: Text(message),
duration: const Duration(seconds: 2),
),
);
}

@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text('PDF to Image Converter'),
),
body: Center(
child: SingleChildScrollView(
child: Column(
children: <Widget>[
ElevatedButton(
child: const Text('Select PDF'),
onPressed: () async {
final path = await PdfPicker.pickPdf();
if (path != null) {
await _converter.openPdf(path);
_image = await _converter.renderPage(0);
setState(() {});
}
},
),
if (_converter.isOpen)
ElevatedButton(
child: const Text('Close PDF'),
onPressed: () async {
await _converter.closePdf();
setState(() {});
},
),
if (_image != null) ...[
const Text('Image area:'),
Image(image: MemoryImage(_image!)),
ElevatedButton(
child: const Text('Save Image'),
onPressed: () async {
if (_image != null) {
await _converter.saveImage(_image!, (bool isSuccess) {
_showSnackbar(
isSuccess
? 'Image successfully saved to gallery.'
: 'Failed to save image.',
);
});
}
},
),
],
if (_converter.isOpen) ...[
Row(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
TextButton.icon(
onPressed: _converter.currentPage > 0
? () async {
_image = await _converter.renderPage(
_converter.currentPage - 1);
setState(() {});
}
: null,
icon: const Icon(Icons.chevron_left),
label: const Text('Previous'),
),
TextButton.icon(
onPressed: _converter.currentPage < (_converter.pageCount - 1)
? () async {
_image = await _converter.renderPage(
_converter.currentPage + 1);
setState(() {});
}
: null,
icon: const Icon(Icons.chevron_right),
label: const Text('Next'),
),
],
),
],
],
),
),
),
);
}
}



copied to clipboard
Next Goals #


Add support for more PDF functionalities like text extraction


Add more containers to the package.

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Files In This Product:

Customer Reviews

There are no reviews.