• Stars
    star
    222
  • Rank 178,061 (Top 4 %)
  • Language
    C#
  • License
    Other
  • Created about 8 years ago
  • Updated 24 days ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

CubePDF, CubePDF Utility, CubePDF Page, and CubePDF SDK for .NET

Cube.Pdf

Core Ghostscript iText PDFium CubePDF GS.Native PDFium.Native PDFium.Native.Lite AppVeyor Codecov

CubePDF SDK provides wrapper APIs for the PDFium, Ghostscript, and iText libraries. The project also has some Windows desktop applications, such as CubePDF, CubePDF Utility, CubePDF Page, and more. Libraries and applications are available for .NET Framework 3.5, 4.7, .NET Standard 2.0, .NET Core 6, or later. Note that some projects are licensed under the GNU AGPLv3 and the others under the Apache 2.0. See License.md for more information.

Applications

CubePDF

CubePDF overview

CubePDF is a PDF converter which allows you to convert files from any applications (for example, Google Chrome, Firefox, Microsoft Edge, Microsoft Word, Excel, PowerPoint, and more), whenever you need it. The converter allows you to convert the files as easy as you can print the files; as a matter of fact, you can do it in the same manner as you print files. The application depends on the Ghostscript and iText libraries. For more information, see CubePDF Documents.

You can get the executable installer from the download page or GitHub Releases. Source codes of the CubePDF are in the Applications/Converter (except for the virtual printer).

CubePDF Utility

CubePDF Utility overview

CubePDF Utility is a PDF editor which can insert, remove, move, rotate pages, add or modify some metadata (PDF version, title, author, subject, keywords, creator, page layout), and encryption settings GUI. The application depends on the PDFium and iText libraries. For more information, see CubePDF Utility Documents.

You can get the executable installer from the download page or GitHub Releases. Source codes of the CubePDF Utility are in the Applications/Editor.

CubePDF Page

CubePDF Page overview

CubPDF Page is a software for merging or splitting existing PDF and image files. You can also add various PDF metadata and encryption settings to the merged or split PDF file. For more information, see CubePDF Page Documents.

You can get the executable installer from the download page or GitHub Releases. Source codes of the CubePDF Page are in the Applications/Pages.

CubePDF SDK

Cube.Pdf, Cube.Pdf.Itext, and Cube.Pdf.Pdfium

You can install Cube.Pdf libraries through the NuGet package commands or UI on Visual Studio. The Libraries provide the functionality to treat third-party libraries as the same interface. Basic interfaces of the Cube.Pdf are as follows:

For example, the following sample accesses a PDF document by using the iText library. And when you want to use the PDFium library, you only modify the description of "using Cube.Pdf.Itext" to "using Cube.Pdf.Pdfium".

// using Cube.Pdf.Itext;

// Set password directly or using Query<string>
var password = new Cube.Query<string>(e =>
{
    e.Value  = "password", // Source path is set in the e.Source property.
    e.Cancel = false,
});

using (var reader = new DocumentReader(@"path/to/sample.pdf", password))
{
    // Do something with Pages, Metadata, Encryption, and more properties.
}

When you merge, extract, or remove existing PDF pages, the simplest code is as follow. Note that if you specify an IDocumentReader object to the Add method of an IDocumentWriter implementation class, the IDocumentWriter object automatically disposes the specified object before saving.

// using Cube.Pdf.Itext;

using (var writer = new DocumentWriter())
{
    var src0 = new DocumentReader("first.pdf", "password");
    var src1 = new DocumentReader("second.pdf", "password");

    writer.Add(src0.Pages[0], src0);
    writer.Add(src1.Pages[0], src1);

    // Disposes src0 and src1 before saving.
    writer.Save(@"path/to/dest.pdf");
}

Cube.Pdf.Ghostscript

When you convert from PostScript to any other formats, you can use the Cube.Pdf.Ghostscript library. The following code converts to the PDF file.

// using Cube.Pdf;
// using Cube.Pdf.Ghostscript;

var converter = new PdfConverter
{
    Paper        = Paper.Auto,
    Orientation  = Orientation.Auto,
    ColorMode    = ColorMode.Rgb,
    Resolution   = 600,
    Compression  = Encoding.Jpeg,
    Downsampling = Downsampling.None,
    Version      = new PdfVersion(1, 7),
};
converter.Invoke(@"path\to\src.ps", @"path\to\dest.pdf");

See the Readme in the Ghostscript directory for details.

Dependencies

Dependencies of Libraries are as follows. Applications may use some more third-party libraries.

Contributing

  1. Fork Cube.Pdf repository.
  2. Create a feature branch from the master branch (e.g. git checkout -b my-new-feature origin/master). Note that the master branch may refer to some pre-release NuGet packages. Try the rake clobber and copy commands when build errors occur.
  3. Commit your changes.
  4. Rebase your local changes to the master branch.
  5. Run the dotnet test command or the Visual Studio (NUnit 3 test adapter) and confirm that it passes.
  6. Create a new Pull Request.

License

Copyright © 2010 CubeSoft, Inc. See License.md for more information.

More Repositories

1

cube.filesystem.sevenzip

CubeICE and 7-Zip wrapper library for .NET
C#
48
star
2

cubepdf

The repository has been moved to Cube.Pdf.
29
star
3

cube.net

CubeRSS Reader and network utilities for Cube projects
C#
19
star
4

PDFLibNet

MuPDF based PDF rendering library.
C
16
star
5

cubepdfviewer

PDFLibNet/MuPDF based PDF viewer.
C#
13
star
6

cube.core

Provides support the MVVM pattern in WPF and/or WinForms applications, and additional utilities.
C#
9
star
7

cube.native.sevenzip

7-Zip library optimized for Japanese encoding.
C++
9
star
8

cube.note

CubeNote project.
C#
7
star
9

cubepdfutility2

The repository has been moved to Cube.Pdf.
6
star
10

cube.vp.docs

CubeVP、CubePDF SDK 等に関するドキュメント
5
star
11

cubeice

The repository has been moved to Cube.FileSystem.SevenZip.
5
star
12

cubepdflib

The repository has been moved to Cube.Pdf.
3
star
13

cube.forms

The repository is now part of the Cube.Core repository. See https://github.com/cube-soft/Cube.Core/tree/master/Libraries/Forms
C#
3
star
14

cubeclock

NTP client.
C#
3
star
15

cube.xui

The repository is now part of the Cube.Core repository. See https://github.com/cube-soft/Cube.Core/tree/master/Libraries/Xui
C#
3
star
16

cube.native.pdfium

Unofficial NuGet packages of the PDFium (pdfium.dll) for Windows.
Python
3
star
17

cube.fileSystem

The repository is merged to https://github.com/cube-soft/Cube.Core
C#
1
star
18

cubeimageresize

Resizing image application.
C#
1
star
19

cube.images

Image library for CubeSoft applications (net35, net45, netstandard2.0).
C#
1
star
20

cubepowermonitor

Monitoring application of Japanese power companies.
C#
1
star
21

cube.native.pdfgen

Unofficial NuGet package of the gsdll32.dll and related resources, which are part of the Ghostscript.
Ruby
1
star