Skip to content

QuestPDF の MIT License でリリースされた最後のバージョン(2022.12)に、フォントのサブセット化(未使用グリフの削減)機能を組み込んだもの

License

Notifications You must be signed in to change notification settings

diva-osaka/QuestPDF

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

670 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

QuestPDF 2022.12 with Font Subsetting

QuestPDF の MIT License でリリースされた最後のバージョン(2022.12)に、フォントのサブセット化(未使用グリフの削減)機能を組み込んだものです。

フォントサブセット化には Diva.FontSubsetting を使用しているため、Diva.FontSubsetting の制限を受けます。また、次の制限もあります。

  • FontManager に登録していないフォント(例: QuestPDF.Helpers.Fonts を使用した場合など)は、サブセット化されません。
  • フォントファミリー単位でテキストを収集し、サブセットフォントを作成します。
    • つまり、同じファミリー名でも、weight などサブファミリーが複数存在する場合は最適化されていません。
    • 例: 同名の Regular と Bold フォントが登録されている場合、同種のグリフを含んだ Regular と Bold のサブセットフォントが PDF に埋め込まれます。
  • さらに、QuestPDF の Dynamic コンポーネントを使用する場合、Dynamic 内部の要素ごと、Dynamic 以外の要素ごとに別々にテキストを収集し、それぞれ別のサブセットフォントを作成します。
    • このため、Dynamic コンポーネントを使用している場合も最適化されていません。
  • ASCII 印刷可能文字を必ず含めるようにしています。


QuestPDF Homepage Dotnet GitHub Repo stars Nuget version Nuget download License


QuestPDF is a modern open-source .NET library for PDF document generation. Offering comprehensive layout engine powered by concise and discoverable C# Fluent API.

👨‍💻 Design PDF documents using C# and employ a code-only approach. Utilize your version control system to its fullest potential.
🧱 Compose PDF document with a range of powerful and predictable structural elements, such as text, image, border, table, and many more.
⚙️ Utilize a comprehensive layout engine, specifically designed for PDF document generation and paging support.
📖 Write code using concise and easy-to-understand C# Fluent API. Utilize IntelliSense to quickly discover available options.
🔗 Don't be limited to any proprietary scripting language or format. Follow your experience and leverage all modern C# features.
Save time thanks to a hot-reload capability, allowing real-time PDF document preview without code recompilation.


Please help by giving a star

Choosing a project dependency could be difficult. We need to ensure stability and maintainability of our projects. Surveys show that GitHub stars count play an important factor when assessing library quality.

⭐ Please give this repository a star. It takes seconds and help thousands of developers! ⭐

Please share with the community

As an open-source project without funding, I cannot afford advertising QuestPDF in a typical way. Instead, the library relies on community interactions. Please consider sharing a post about QuestPDF and the value it provides. It really does help!

Share on Reddit Share on Twitter Share on HackerNews Share on Facebook


Let's get started

Begin exploring the QuestPDF library today. You are 250 lines of C# code away from creating a fully functional PDF invoice implementation.

Read the Getting Started tutorial to familiarize yourself with general library architecture, important layout structures as well as to better understand helpful patterns and practices. Easily start designing your PDF documents, reports, invoices and even more.

Getting started tutorial


QuestPDF on JetBrains OSS Power-Ups

QuestPDF was presented on one of the episodes of OSS Power-Ups hosted by JetBrains. Huge thanks for Matthias Koch and entire JetBrains team for giving me a chance to show QuestPDF. You are the best!

YouTube video about QuestPDF

About

QuestPDF の MIT License でリリースされた最後のバージョン(2022.12)に、フォントのサブセット化(未使用グリフの削減)機能を組み込んだもの

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C# 100.0%