Compare commits

..

7 Commits

Author SHA1 Message Date
MarcinZiabek bb582b54a2 GeneratePdfAndShow, GenerateXpsAndShow 2023-05-05 00:48:31 +02:00
MarcinZiabek 40603ada12 2023.4.1 release 2023-05-04 19:21:45 +02:00
MarcinZiabek b5d8fc403f Including documentation comments in nuget 2023-05-04 19:20:20 +02:00
MarcinZiabek 84ed879026 2023.4.0 Updated Previewer configuration 2023-05-04 13:48:30 +02:00
Marcin Ziąbek 3bcb0ed947 Update README.md 2023-05-04 13:41:30 +02:00
MarcinZiabek 498a86359a Release 2023.4.0 2023-05-04 13:35:11 +02:00
Marcin Ziąbek 4d1db6b76e Dual license integration (#545)
* Added library license validation check with a detailed description

* Improved license-related message

* Adjusted license information

* Updated nuget license

* Improved grammar

* License message: added link to license configuration

* Fixed build
2023-05-04 13:25:06 +02:00
9 changed files with 59 additions and 54 deletions
+1 -1
View File
@@ -56,7 +56,7 @@ Choosing a project dependency could be difficult. We need to ensure stability an
⭐ Please give this repository a star. It takes seconds and help thousands of developers! ⭐
<img src="https://user-images.githubusercontent.com/9263853/232912983-b20e441e-bd47-41df-afa4-f02481252d26.png" width="800" />
<img src="https://user-images.githubusercontent.com/9263853/236193691-efb9cff8-e919-4826-9720-dcfb492980ae.png" width="800" />
## Please share with the community
@@ -4,11 +4,10 @@
<Authors>MarcinZiabek</Authors>
<Company>CodeFlint</Company>
<PackageId>QuestPDF.Previewer</PackageId>
<Version>2022.12.0</Version>
<Version>2023.4.0</Version>
<PackAsTool>true</PackAsTool>
<ToolCommandName>questpdf-previewer</ToolCommandName>
<PackageDescription>QuestPDF is an open-source, modern and battle-tested library that can help you with generating PDF documents by offering friendly, discoverable and predictable C# fluent API.</PackageDescription>
<PackageReleaseNotes>Initial release.</PackageReleaseNotes>
<LangVersion>10</LangVersion>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<PackageIcon>Logo.png</PackageIcon>
@@ -18,10 +17,8 @@
<RepositoryUrl>https://github.com/QuestPDF/library.git</RepositoryUrl>
<RepositoryType>git</RepositoryType>
<Copyright>Marcin Ziąbek, QuestPDF contributors</Copyright>
<PackageTags>pdf report file export generate generation tool create creation render portable document format quest html library converter open source free standard core previewer</PackageTags>
<PackageTags>previewer pdf report file export generate generation tool create creation render portable document format quest html library converter open source free standard core</PackageTags>
<PackageLicenseExpression>MIT</PackageLicenseExpression>
<IncludeSymbols>true</IncludeSymbols>
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
<OutputType>exe</OutputType>
<TargetFramework>net6.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
+9 -13
View File
@@ -21,24 +21,20 @@ namespace QuestPDF.ReportSample
var model = DataSource.GetReport();
Report = new StandardReport(model);
}
[Test]
public void GenerateAndShowPdf()
{
//ImagePlaceholder.Solid = true;
var path = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, $"test_result.pdf");
Report.GeneratePdf(path);
Process.Start("explorer.exe", path);
}
[Test]
public void GenerateAndShowXps()
public void GeneratePdfAndShow()
{
var path = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, $"test_result.xps");
Report.GenerateXps(path);
Process.Start("explorer.exe", path);
Report.GeneratePdfAndShow();
}
[Test]
public void GenerateXpsAndShow()
{
Report.GenerateXpsAndShow();
}
}
}
+2 -2
View File
@@ -75,8 +75,8 @@ namespace QuestPDF.Drawing
$"The library does not require any license key. " +
$"We trust our users, and therefore the process is simple. " +
$"To disable license validation and turn off this exception, please configure an eligible license using the QuestPDF.Settings.License API, for example: {newParagraph}" +
$"\"QuestPDF.Settings.License = LicenseType.Community;\". {newParagraph}" +
$"Learn more on: https://www.questpdf.com/license-configuration.html";
$"\"QuestPDF.Settings.License = LicenseType.Community;\" {newParagraph}" +
$"Learn more on: https://www.questpdf.com/license-configuration.html {newParagraph}";
throw new Exception(exceptionMessage)
{
@@ -1,5 +1,6 @@
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.IO;
using QuestPDF.Drawing;
using QuestPDF.Infrastructure;
@@ -28,6 +29,13 @@ namespace QuestPDF.Fluent
DocumentGenerator.GeneratePdf(stream, document);
}
public static void GeneratePdfAndShow(this IDocument document)
{
var filePath = Path.Combine(Path.GetTempPath(), $"QuestPDF Document.pdf");
document.GeneratePdf(filePath);
OpenFileUsingDefaultProgram(filePath);
}
#endregion
#region XPS
@@ -50,6 +58,13 @@ namespace QuestPDF.Fluent
DocumentGenerator.GenerateXps(stream, document);
}
public static void GenerateXpsAndShow(this IDocument document)
{
var filePath = Path.Combine(Path.GetTempPath(), $"QuestPDF Document.xps");
document.GenerateXps(filePath);
OpenFileUsingDefaultProgram(filePath);
}
#endregion
#region Images
@@ -77,5 +92,22 @@ namespace QuestPDF.Fluent
}
#endregion
#region Helpers
private static void OpenFileUsingDefaultProgram(string filePath)
{
var process = new Process
{
StartInfo = new ProcessStartInfo(filePath)
{
UseShellExecute = true
}
};
process.Start();
}
#endregion
}
}
@@ -18,8 +18,8 @@ namespace QuestPDF.Previewer
public event Action? OnPreviewerStopped;
private const int RequiredPreviewerVersionMajor = 2022;
private const int RequiredPreviewerVersionMinor = 12;
private const int RequiredPreviewerVersionMajor = 2023;
private const int RequiredPreviewerVersionMinor = 4;
public PreviewerService(int port)
{
+2 -1
View File
@@ -3,7 +3,7 @@
<Authors>MarcinZiabek</Authors>
<Company>CodeFlint</Company>
<PackageId>QuestPDF</PackageId>
<Version>2023.4.0</Version>
<Version>2023.4.1</Version>
<PackageDescription>QuestPDF is an open-source, modern and battle-tested library that can help you with generating PDF documents by offering friendly, discoverable and predictable C# fluent API. Easily generate PDF reports, invoices, exports, etc.</PackageDescription>
<PackageReleaseNotes>$([System.IO.File]::ReadAllText("$(MSBuildProjectDirectory)/Resources/ReleaseNotes.txt"))</PackageReleaseNotes>
<LangVersion>9</LangVersion>
@@ -22,6 +22,7 @@
<TargetFrameworks>net462;netstandard2.0;netcoreapp2.0;netcoreapp3.0;net6.0</TargetFrameworks>
<IncludeSymbols>true</IncludeSymbols>
<SymbolPackageFormat>snupkg</SymbolPackageFormat>
<GenerateDocumentationFile>True</GenerateDocumentationFile>
</PropertyGroup>
<ItemGroup>
+4 -4
View File
@@ -2,15 +2,15 @@
## What license do you need?
If you are consuming the QuestPDF library as a Direct Package Dependency for usage in a Closed Source software in the capacity of a for-profit company/individual with more than 1M USD annual gross revenue, you must purchase the QuestPDF Professional or Enterprise License, depending on number of software developers.
Suppose you are consuming the QuestPDF library as a Direct Package Dependency for usage in a Closed Source software in the capacity of a for-profit company/individual with more than 1M USD annual gross revenue. In that case, you must purchase the QuestPDF Professional or Enterprise License, depending on the number of software developers.
We love and highly appreciate the .NET Community and therefore the vast majority of users are welcome to use the library completely for free. If you do not meet the criteria described above, you are eligible to use the QuestPDF Community MIT License, without any limitations, even for commercial usage.
We love and highly appreciate the .NET Community. Therefore, most users are welcome to use the library entirely for free. If you do not meet the criteria described above, you are eligible to use the QuestPDF Community MIT License, without any limitations, even for commercial usage.
If you still want to support library development, please consider purchasing the Professional License.
All details regarding the QuestPDF license can be found on the [official webpage](https://www.questpdf.com/pricing.html).
Please find all details regarding the QuestPDF license on the [official webpage](https://www.questpdf.com/pricing.html).
Being a healthy and growing community is our primary goal that motivates us to pursue professionalism. Thank you!
Being a healthy and growing community is the primary goal that motivates us to pursue professionalism. Thank you!
## QuestPDF Community MIT License
+5 -26
View File
@@ -1,27 +1,6 @@
Version 2022.12.0:
Feature: implemented LetterSpacing property for the Text element
Improvement: the Text element API accepts now only string values, objects are not automatically converted anymore
Fix: the Alignment element incorrectly limits size of its child when only one axis is set (horizontal or vertical)
Maintenance: Updated SkiaSharp dependency to 2.88.3
Version 2023.4.0
This release was possible thanks to enormous help of AntonyCorbett, thank you!
Version 2022.12.1:
Fixed: loading fonts from embedded resource via the FontManager.RegisterFontFromEmbeddedResource method
Fixed: better layout calculation stability for the Column element
Improvement: exposed missing API method for the Dynamic component, enabling applying more advanced optimizations
Improvement: better API documentation for the Settings.DocumentLayoutExceptionThreshold property
Version 2022.12.2:
Performance improvements in various areas
Text rendering stability improvements
Fixed: the Settings.CheckIfAllTextGlyphsAreAvailable setting does not work correctly
Version 2022.12.3:
Fix: inconsistent text height when using multiple lines with different TextStyles
Improvement: added validation for color arguments
Fix: the inlined element is shown only once in the header but should be repeated on each page
Version 2022.12.4:
Fix: the TextStyle.Fallback property incorrectly inherits parent's and global properties
Improvement: updated the CreateNotMatchingFontException message to mention that the glyph checking operation can be disabled with the Settings.CheckIfAllTextGlyphsAreAvailable setting
This release does not contain any features or quality improvements.
Its purpose is to mark the QuestPDF shift towards the dual-licensing model.
Most users are not affected by this change.
Please visit the https://www.questpdf.com/pricing.html webpage for more information.