than_pdf_engine 0.5.0 copy "than_pdf_engine: ^0.5.0" to clipboard
than_pdf_engine: ^0.5.0 copied to clipboard

than_pdf_engine -> dart package.wrapper cpp langage.pdfium + stb_image_write .

example/lib/main.dart

// ignore_for_file: avoid_print

import 'dart:io';

import 'package:dart_core_extensions/dart_core_extensions.dart';
import 'package:flutter/material.dart';
import 'package:than_pdf_engine/core/pdf_thumbnail_generator.dart';
import 'package:than_pdf_engine/than_pdf_engine.dart';
import 'package:than_pdf_engine_example/my_page.dart';
import 'package:than_pkg/than_pkg.dart' show ThanPkg;

void main() {
  runApp(MaterialApp(theme: ThemeData.light(), home: const MyApp()));
}

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

  @override
  State<MyApp> createState() => _MyAppState();
}

class _MyAppState extends State<MyApp> {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: [
            TextButton(
              child: Text('Test'),
              onPressed: () => goPage('/home/thancoder/Documents/pdf/test.pdf'),
            ),
            TextButton(
              child: Text('Test 1'),
              onPressed: () =>
                  goPage('/home/thancoder/Documents/pdf/test1.pdf'),
            ),
            TextButton(
              child: Text('Test 2'),
              onPressed: () =>
                  goPage('/home/thancoder/Documents/pdf/test2.pdf'),
            ),
            TextButton(
              child: Text('Test 3'),
              onPressed: () =>
                  goPage('/home/thancoder/Documents/pdf/test3.pdf'),
            ),
            TextButton(
              onPressed: () => goPage('/storage/emulated/0/test.pdf'),
              child: Text('Android Small Pdf'),
            ),
            TextButton(
              onPressed: () => goPage('/storage/emulated/0/test2.pdf'),
              child: Text('Android Big Pdf'),
            ),
          ],
        ),
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: () async {
          try {
            if (!await ThanPkg.platform.isStoragePermissionGranted()) {
              await ThanPkg.platform.requestStoragePermission();
            }
            final g = PdfThumbnailGenerator.instance;

            final dir = Directory('/home/thancoder/Documents/Docs');
            final outDir = Directory('${dir.path}/thumbnails');
            if (!outDir.existsSync()) {
              outDir.createSync(recursive: false);
            }
            for (var file in dir.listSync(followLinks: false)) {
              final name = file.getName();
              if (!name.endsWith('.pdf')) continue;
              print('$name: Starting...');

              final res = await g.generate(
                file.path,
                '${outDir.path}/$name.jpg',
                overrideImage: true,
                height: 200,
                width: 200,
              );
              print('$name: $res');
            }
          } catch (e) {
            debugPrint(e.toString());
          }
        },
      ),
    );
  }

  void goPage(String path) {
    Navigator.push(
      context,
      MaterialPageRoute(builder: (context) => MyPage(path: path)),
    );
  }
}
0
likes
150
points
230
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

than_pdf_engine -> dart package.wrapper cpp langage.pdfium + stb_image_write .

Repository (GitHub)
View/report issues

License

MIT (license)

Dependencies

code_assets, ffi, hooks, logging

More

Packages that depend on than_pdf_engine