Majorsilence.PdfWidget.GtkPdf
2.0.2
dotnet add package Majorsilence.PdfWidget.GtkPdf --version 2.0.2
NuGet\Install-Package Majorsilence.PdfWidget.GtkPdf -Version 2.0.2
<PackageReference Include="Majorsilence.PdfWidget.GtkPdf" Version="2.0.2" />
paket add Majorsilence.PdfWidget.GtkPdf --version 2.0.2
#r "nuget: Majorsilence.PdfWidget.GtkPdf, 2.0.2"
// Install Majorsilence.PdfWidget.GtkPdf as a Cake Addin #addin nuget:?package=Majorsilence.PdfWidget.GtkPdf&version=2.0.2 // Install Majorsilence.PdfWidget.GtkPdf as a Cake Tool #tool nuget:?package=Majorsilence.PdfWidget.GtkPdf&version=2.0.2
GTK Sharp PDF Widget
This is a Pdfium-based GTK PDF viewer. It demonstrates using C# with .NET 8 to load a PDF into a GTK widget.
Features
- Load and display PDF files in a GTK widget.
- Built with C# and .NET 8.
- Utilizes Pdfium for PDF rendering.
Usuage
dotnet add package Majorsilence.PdfWidget.GtkPdf --version 2.0.2
See the PdfWidget.sln for a working example.
Minimal example
Add the pdf widget to another. It is empty, the user can use the open button to select a pdf.
var window = // ... GtkWindow, HBox, VBox, whatever gtk widet
var pdfWidget = new Majorsilence.PdfWidget.GtkPdf.PdfWidget();
window.Add(pdfWidget);
window.ShowAll();
larger example, preload pdf into widget without user interaction
Add the pdf widget to another. Load a pdf without user interaction. The other can load a different pdf with the open button.
var window = // ... GtkWindow, HBox, VBox, whatever gtk widet
var pdfWidget = new Majorsilence.PdfWidget.GtkPdf.PdfWidget();
window.Add(pdfWidget);
window.ShowAll();
await pdfWidget.LoadPdfAsync("https://www.gnu.org/licenses/quick-guide-gplv3.pdf");
Development
Requirements
- .NET 8
- GTK 3
NuGet Packages
This project references the following NuGet packages:
- GtkSharp
- GTK 3
- DtronixPdf
- Pdfium support
Getting Started
- Clone the repository:
git clone https://github.com/majorsilence/gtk-sharp-pdf-widget.git
- Navigate to the project directory:
cd gtk-sharp-pdf-widget
- Restore the NuGet packages:
dotnet restore
- Build the project:
dotnet build
- Run the application:
dotnet run
License
Dual license.
This project has no defined license other than: You can use this in any software with any license you want. See the LICENSE file for details.
If you require a license; MIT License.
Contributing
Contributions are welcome! Please open an issue or submit a pull request.
Acknowledgements
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. |
-
net8.0
- DtronixPdf (>= 1.2.1)
- GtkSharp (>= 3.24.24.95)
-
net9.0
- DtronixPdf (>= 1.2.1)
- GtkSharp (>= 3.24.24.95)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.