compdfkit_flutter 2.4.3
compdfkit_flutter: ^2.4.3 copied to clipboard
ComPDFKit for Flutter is a comprehensive SDK that allows you to quickly add PDF functionality to Android and iOS Flutter applications.
// Copyright © 2014-2025 PDF Technologies, Inc. All Rights Reserved.
//
// THIS SOURCE CODE AND ANY ACCOMPANYING DOCUMENTATION ARE PROTECTED BY INTERNATIONAL COPYRIGHT LAW
// AND MAY NOT BE RESOLD OR REDISTRIBUTED. USAGE IS BOUND TO THE ComPDFKit LICENSE AGREEMENT.
// UNAUTHORIZED REPRODUCTION OR DISTRIBUTION IS SUBJECT TO CIVIL AND CRIMINAL PENALTIES.
// This notice may not be removed from this file.
import 'dart:io';
import 'package:compdfkit_flutter/compdfkit.dart';
import 'package:compdfkit_flutter_example/examples.dart';
import 'package:compdfkit_flutter_example/theme/themes.dart';
import 'package:compdfkit_flutter_example/utils/file_util.dart';
import 'package:compdfkit_flutter_example/widgets/cpdf_app_bar.dart';
import 'package:flutter/material.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'ComPDFKit SDK for Flutter',
theme: lightTheme,
darkTheme: darkTheme,
themeMode: ThemeMode.system,
home: const HomePage(),
);
}
}
class HomePage extends StatefulWidget {
const HomePage({super.key});
@override
State<HomePage> createState() => _HomePageState();
}
class _HomePageState extends State<HomePage> {
@override
void initState() {
super.initState();
_init();
}
void _init() async {
final fontDir = await extractAssetFolder(context, 'extraFonts/');
await ComPDFKit.setImportFontDir(fontDir, addSysFont: true);
// Initialize ComPDFKit with your license key file.
final licenseFileName = Platform.isAndroid ? 'assets/license_key_flutter_android.xml' : 'assets/license_key_flutter_ios.xml';
File licenseFile = await extractAsset(context, licenseFileName, shouldOverwrite: false);
// On Android Platform use assets folder to store license key file.
// licenseFilePath = "assets://license_key_flutter.xml";
// On iOS Platform use main bundle to store license key file.
// licenseFilePath = "license_key_flutter_ios.xml";
ComPDFKit.initWithPath(licenseFile.path);
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: const CAppBar(),
body: ExampleListView(widgets: examples(context)));
}
}
class ExampleListView extends StatelessWidget {
final List<Widget> widgets;
const ExampleListView({super.key, required this.widgets});
@override
Widget build(BuildContext context) {
return Padding(
padding: const EdgeInsets.symmetric(horizontal: 16, vertical: 8),
child: ListView.builder(
itemCount: widgets.length,
itemBuilder: (context, index) {
return widgets[index];
}));
}
}