Skip to content

Commit

Permalink
Merge pull request #238 from rbcprolabs/feature/pdf-refactoring
Browse files Browse the repository at this point in the history
Pdf refactoring
  • Loading branch information
SergeShkurko authored Feb 10, 2022
2 parents fd0c92a + e906032 commit 87f1345
Show file tree
Hide file tree
Showing 274 changed files with 12,919 additions and 3,989 deletions.
5 changes: 5 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
{
"cSpell.words": [
"pdfx"
]
}
30 changes: 21 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,19 @@
|---|---|
| [![pub package][auto_animated_badge]][auto_animated_pub] | [`packages/auto_animated`][auto_animated_code] |
| [![pub package][flutter_color_badge]][flutter_color_pub] | [`packages/flutter_color`][flutter_color_code] |
| [![pub package][native_pdf_renderer_badge]][native_pdf_renderer_pub] | [`packages/native_pdf_renderer`][native_pdf_renderer_code] |
| [![pub package][native_pdf_view_badge]][native_pdf_view_pub] | [`packages/native_pdf_view`][native_pdf_view_code] |
| [![pub package][pdfx_badge]][pdfx_pub] | [`packages/pdfx`][pdfx_code] |
| [![pub package][epub_view_badge]][epub_view_pub] | [`packages/epub_view`][epub_view_code] |
| [![pub package][explorer_badge]][explorer_pub] | [`packages/explorer`][explorer_code] |


## Outdated / Transferred / Renamed packages and plugins

| Package | Source code |
|---|---|
| [![pub package][native_pdf_renderer_badge]][native_pdf_renderer_pub] | [`packages/native_pdf_renderer`][native_pdf_renderer_code] |
| [![pub package][native_pdf_view_badge]][native_pdf_view_pub] | [`packages/native_pdf_view`][native_pdf_view_code] |


[auto_animated_pub]: https://pub.dev/packages/auto_animated
[auto_animated_code]: https://github.com/rbcprolabs/packages.flutter/tree/master/packages/auto_animated
[auto_animated_badge]: https://img.shields.io/pub/v/auto_animated.svg
Expand All @@ -21,13 +29,9 @@
[flutter_color_code]: https://github.com/rbcprolabs/packages.flutter/tree/master/packages/flutter_color
[flutter_color_badge]: https://img.shields.io/pub/v/flutter_color.svg

[native_pdf_renderer_pub]: https://pub.dev/packages/native_pdf_renderer
[native_pdf_renderer_code]: https://github.com/rbcprolabs/packages.flutter/tree/master/packages/native_pdf_renderer
[native_pdf_renderer_badge]: https://img.shields.io/pub/v/native_pdf_renderer.svg

[native_pdf_view_pub]: https://pub.dev/packages/native_pdf_view
[native_pdf_view_code]: https://github.com/rbcprolabs/packages.flutter/tree/master/packages/native_pdf_view
[native_pdf_view_badge]: https://img.shields.io/pub/v/native_pdf_view.svg
[pdfx_pub]: https://pub.dev/packages/pdfx
[pdfx_code]: https://github.com/rbcprolabs/packages.flutter/tree/master/packages/pdfx
[pdfx_badge]: https://img.shields.io/pub/v/pdfx.svg

[epub_view_pub]: https://pub.dev/packages/epub_view
[epub_view_code]: https://github.com/rbcprolabs/packages.flutter/tree/master/packages/epub_view
Expand All @@ -36,3 +40,11 @@
[explorer_pub]: https://pub.dev/packages/explorer
[explorer_code]: https://github.com/rbcprolabs/packages.flutter/tree/master/packages/explorer
[explorer_badge]: https://img.shields.io/pub/v/explorer.svg

[native_pdf_renderer_pub]: https://pub.dev/packages/native_pdf_renderer
[native_pdf_renderer_code]: https://github.com/rbcprolabs/packages.flutter/tree/master/packages/native_pdf_renderer
[native_pdf_renderer_badge]: https://img.shields.io/pub/v/native_pdf_renderer.svg

[native_pdf_view_pub]: https://pub.dev/packages/native_pdf_view
[native_pdf_view_code]: https://github.com/rbcprolabs/packages.flutter/tree/master/packages/native_pdf_view
[native_pdf_view_badge]: https://img.shields.io/pub/v/native_pdf_view.svg
1 change: 1 addition & 0 deletions analysis_options.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ analyzer:
exclude:
- '**/*.g.dart'
- '**/generated_plugin_registrant.dart'
- '**/pigeon.dart'
strong-mode:
implicit-casts: true
implicit-dynamic: true
Expand Down
8 changes: 5 additions & 3 deletions packages/explorer/lib/src/ui/widgets/grid.dart
Original file line number Diff line number Diff line change
Expand Up @@ -101,12 +101,14 @@ class _ExplorerFilesGridViewState extends State<ExplorerFilesGridView> {
final i18n = ExplorerLocalizations.of(context);

var crossAxisCount = 3;
if (size.width >= 800 && size.width < 1000) {
if (size.width >= 600 && size.width < 800) {
crossAxisCount = 4;
} else if (size.width >= 1000 && size.width < 1200) {
} else if (size.width >= 800 && size.width < 1000) {
crossAxisCount = 5;
} else if (size.width >= 1200) {
} else if (size.width >= 1000 && size.width < 1200) {
crossAxisCount = 6;
} else if (size.width >= 1200) {
crossAxisCount = 7;
}

return StreamBuilder<ExplorerState>(
Expand Down
3 changes: 1 addition & 2 deletions packages/native_pdf_renderer/.vscode/launch.json
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,8 @@
"type": "dart",
"program": "./example/lib/main.dart",
"args": [
"--web-port=5000",
"--web-enable-expression-evaluation"
],
]
}
]
}
14 changes: 14 additions & 0 deletions packages/native_pdf_renderer/CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,17 @@
## 5.0.0

* Now it package used as proxy for `[pdf_renderer]` (Plugin renamed, migration guide in readme)
* `PdfDocument.openData()` added supports `Future<Uin8List>` by usage `FutureOf`
* Added internet file usage example
* Added [flutter_lints]
* Usage pigeon for iOS, macOS, Android
* Usage `[plugin_platform_interface]` for better work web
* iOS and macOS now use a single codebase
* Added texture rendering
* Renamed `PdfPageFormat` -> `PdfPageImageFormat`

### Breaking changes:
* Values of `PdfPageImageFormat` change case `PdfPageImageFormat{JPEG,PNG,WEBP}` -> `PdfPageImageFormat{jpeg,png,webp}`
## 4.0.1

* Fixed MacOS app crush when used format: PdfPageFormat.WEBP
Expand Down
64 changes: 52 additions & 12 deletions packages/native_pdf_renderer/README.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,26 @@
> ## Plugin renamed and republished as `[pdfx]`
>
> [[pdfx] on pub.dev](https://pub.dev/packages/pdfx)
>
> Some smaller api changes
> <br/><br/>
>
<br/>


Migration:
1. Replace dependencies
```diff
dependencies:
- native_pdf_renderer: ^4.0.1
+ pdfx: ^1.0.0
```
2. Renamed `PdfPageFormat` -> `PdfPageImageFormat`
3. Re-case values `PdfPageImageFormat{JPEG,PNG,WEBP}` -> `PdfPageImageFormat{jpeg,png,webp}`

<br/><br/>

# PDF Renderer

`Flutter` Plugin to render PDF pages as images on **Web**, **MacOs 10.11+**, **Android 5.0+**, **iOS** and **Windows**.
Expand All @@ -7,7 +30,7 @@
## Getting Started
In your flutter project add the dependency:

[![pub package](https://img.shields.io/pub/v/native_pdf_renderer.svg)](https://pub.dartlang.org/packages/native_pdf_renderer)
[![pub package](https://img.shields.io/pub/v/native_pdf_renderer.svg)](https:///packages/native_pdf_renderer)

```yaml
dependencies:
Expand All @@ -17,14 +40,21 @@ dependencies:
For web add lines in index.html before importing main.dart.js:<br/>
**note that the files have different names**
```html
<!-- Link to pdf.js library -->
<script src="//cdnjs.cloudflare.com/ajax/libs/pdf.js/2.7.570/pdf.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/build/pdf.js" type="text/javascript"></script>
<script type="text/javascript">
// Link to worker for pdf.js library
pdfjsLib.GlobalWorkerOptions.workerSrc = "//cdnjs.cloudflare.com/ajax/libs/pdf.js/2.7.570/pdf.worker.min.js";
pdfjsLib.GlobalWorkerOptions.workerSrc = "https://cdn.jsdelivr.net/npm/[email protected]/build/pdf.worker.min.js";
pdfRenderOptions = {
cMapUrl: 'https://cdn.jsdelivr.net/npm/[email protected]/cmaps/',
cMapPacked: true,
}
</script>
```

for windows the pdfium version used can be overridden by the base flutter application by adding the following line to the host apps CMakeLists.txt file:
```
set(PDFIUM_VERSION "4638" CACHE STRING "")
```

## Usage example

```dart
Expand Down Expand Up @@ -67,7 +97,7 @@ void main() async {
| pagesCount | All pages count in document. Starts from 1. | - |
| isClosed | Is the document closed | - |

**Document open:**
**Local document open:**
```dart
// From assets (Android, Ios, MacOs, Web)
PdfDocument.openAsset('assets/sample.pdf')
Expand All @@ -76,7 +106,22 @@ PdfDocument.openAsset('assets/sample.pdf')
PdfDocument.openFile('path/to/file/on/device')
// From data (Android, Ios, MacOs, Web)
PdfDocument.openData(uint8Data)
PdfDocument.openData((FutureOr<Uint8List>) data)
```
**Network document open:**

Install [[network_file]](https://pub.dev/packages/internet_file) package (supports all platforms):
```shell
flutter pub add internet_file
```

And use it
```dart
import 'package:internet_file/internet_file.dart';
PdfDocument.openData(InternetFile.get(
'https://github.com/rbcprolabs/packages.flutter/raw/fd0c92ac83ee355255acb306251b1adfeb2f2fd6/packages/native_pdf_renderer/example/assets/sample.pdf',
))
```

**Open page:**
Expand Down Expand Up @@ -158,8 +203,3 @@ This plugin uses the IOS native [CGPDFPage](https://developer.apple.com/document

### On Windows
This plugin use [PDFium](https://pdfium.googlesource.com/pdfium/+/master/README.md)

The pdfium version used can be overridden by the base flutter application by adding the following line to the host apps CMakeLists.txt file:
```
set(PDFIUM_VERSION "4638" CACHE STRING "")
```
1 change: 0 additions & 1 deletion packages/native_pdf_renderer/android/settings.gradle

This file was deleted.

Loading

0 comments on commit 87f1345

Please sign in to comment.