Skip to content

Introduce IBlock and ILettersBlock interfaces (Round 2)#1263

Merged
BobLd merged 3 commits intoUglyToad:masterfrom
davebrokit:update-2026
Feb 28, 2026
Merged

Introduce IBlock and ILettersBlock interfaces (Round 2)#1263
BobLd merged 3 commits intoUglyToad:masterfrom
davebrokit:update-2026

Conversation

@davebrokit
Copy link
Copy Markdown
Contributor

Part of #855 and continuation of #864

I raised as a new PR as the branch was almost 2 years behind.

davmarksman added 2 commits February 26, 2026 08:00
- Keep the Bounds property on the image classes so this isn't a major breaking API change
- Don't expose letters collection
/// The width of the glyph may also be more or less than the <see cref="Width"/> allocated for the character in the PDF content.
/// </summary>
public PdfRectangle GlyphRectangle { get; }
public PdfRectangle GlyphRectangle { get; }
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can you mark GlyphRectangle as Obsolete? With a message like "Use BoundingBox instead." I think we should still keep it for some time though.

Also, can GlyphRectangle usage be switch to BoundingBox in the library? So that you'd end up with

///
[Obsolete("Use BoundingBox instead.")]
public PdfRectangle GlyphRectangle => BoundingBox;

///
public PdfRectangle BoundingBox { get; }

@BobLd
Copy link
Copy Markdown
Collaborator

BobLd commented Feb 26, 2026

@davebrokit thanks a lot for that, looks good to me. I've just added a comment.

If you don't have time to do that, I can implemenent my feedback over the weekend

@davebrokit
Copy link
Copy Markdown
Contributor Author

@BobLd, No worries. I guess you're busy enough as is. I've updated the PR with the changes.

There is also reference to GlyphRectangle in these 2 pages in the wiki: But I don't have access anymore to update it. Can you update when the PR gets merged.

https://github.com/UglyToad/PdfPig/wiki/Letters
https://github.com/UglyToad/PdfPig/wiki/Document-Layout-Analysis

@BobLd BobLd merged commit f3e37ea into UglyToad:master Feb 28, 2026
2 checks passed
@BobLd
Copy link
Copy Markdown
Collaborator

BobLd commented Feb 28, 2026

@davebrokit thanks a lot, and thanks for flagging the 2 pages. I have now updated them

TheCodeTraveler pushed a commit to TheCodeTraveler/MAUIChatGPTClone that referenced this pull request Mar 23, 2026
Updated [PdfPig](https://github.com/UglyToad/PdfPig) from 0.1.13 to
0.1.14.

<details>
<summary>Release notes</summary>

_Sourced from [PdfPig's
releases](https://github.com/UglyToad/PdfPig/releases)._

## 0.1.14

## Auto generated release notes
* Increment version to 0.1.14 by @​BobLd in
UglyToad/PdfPig#1231
* Introduce StackDepthGuard class to check for stack depth in
CoreTokenScanner and fix #​1217 by @​BobLd in
UglyToad/PdfPig#1220
* Add Links to Pdf Generation by @​ochsnerd in
UglyToad/PdfPig#1232
* Make LinkAnnotation internal to fix unit tests by @​BobLd in
UglyToad/PdfPig#1239
* Only throw if ArrayToken length is lesss than 4 in ToRectangle() and
fix #​1238 by @​BobLd in UglyToad/PdfPig#1240
* Handle empty encoding in Type1FontSimple and fix #​1248 by @​BobLd in
UglyToad/PdfPig#1249
* Make extended graphics states stacked too by @​PsykerUdot in
UglyToad/PdfPig#1246
* both Tj and TJ operators should increment text sequence #​1241 by
@​EliotJones in UglyToad/PdfPig#1251
* Improve HasFormXObjectCircularReference and fix #​1250 by @​BobLd in
UglyToad/PdfPig#1252
* replace release flow single job with pr process by @​EliotJones in
UglyToad/PdfPig#1253
* Add UglyToad.PdfPig.Benchmarks and misc performance improvements by
@​BobLd in UglyToad/PdfPig#1255
* Make LinkAnnotation public by @​BobLd in
UglyToad/PdfPig#1256
* revert flate decode handling to more lenient processing by
@​EliotJones in UglyToad/PdfPig#1254
* Fix Benchmarks solution and add BruteForceBenchmarks by @​BobLd in
UglyToad/PdfPig#1260
* Additional digital corpora testing by @​EliotJones in
UglyToad/PdfPig#1261
* Introduce IBlock and ILettersBlock interfaces (Round 2) by
@​davebrokit in UglyToad/PdfPig#1263
* Improve SystemFontFinder performance and add benchmarks by @​BobLd in
UglyToad/PdfPig#1264
* For shading types 4 to 7, add Data property containing descriptive
data characterizing the shading's gradient fill by @​BobLd in
UglyToad/PdfPig#1267
* creating branch in the previous step conflicts by @​EliotJones in
UglyToad/PdfPig#1269
* change the release flow to work on tags by @​EliotJones in
UglyToad/PdfPig#1271

## New Contributors
* @​ochsnerd made their first contribution in
UglyToad/PdfPig#1232

**Full Changelog**:
UglyToad/PdfPig@0.1.13...v0.1.14

Commits viewable in [compare
view](UglyToad/PdfPig@0.1.13...v0.1.14).
</details>

[![Dependabot compatibility
score](https://dependabot-badges.githubapp.com/badges/compatibility_score?dependency-name=PdfPig&package-manager=nuget&previous-version=0.1.13&new-version=0.1.14)](https://docs.github.com/en/github/managing-security-vulnerabilities/about-dependabot-security-updates#about-compatibility-scores)

Dependabot will resolve any conflicts with this PR as long as you don't
alter it yourself. You can also trigger a rebase manually by commenting
`@dependabot rebase`.

[//]: # (dependabot-automerge-start)
[//]: # (dependabot-automerge-end)

---

<details>
<summary>Dependabot commands and options</summary>
<br />

You can trigger Dependabot actions by commenting on this PR:
- `@dependabot rebase` will rebase this PR
- `@dependabot recreate` will recreate this PR, overwriting any edits
that have been made to it
- `@dependabot show <dependency name> ignore conditions` will show all
of the ignore conditions of the specified dependency
- `@dependabot ignore this major version` will close this PR and stop
Dependabot creating any more for this major version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this minor version` will close this PR and stop
Dependabot creating any more for this minor version (unless you reopen
the PR or upgrade to it yourself)
- `@dependabot ignore this dependency` will close this PR and stop
Dependabot creating any more for this dependency (unless you reopen the
PR or upgrade to it yourself)


</details>

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants