Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Releases: carlos7ags/folio

v0.9.1

10 Jun 12:00
@carlos7ags carlos7ags

Choose a tag to compare

A rendering-correctness release across border-radius (#329), CSS paged media
(@page, position: fixed, margin boxes — #327/#328), and lists
(#330/#339/#342/#347/#358), plus a from-scratch fix of the QR barcode encoder
(#341). Adds native multi-level list numbering via CSS counters (#356), table
rowspan geometry (#357), Document.AddConvertResult, and
SetPageSize/PageSize (#338). No breaking changes.

Added

  • document.Document.AddConvertResult(*html.ConvertResult) error — the wiring half of AddHTML, exported so callers who need the raw ConvertResult (to inspect or transform elements before rendering) can add it back with a single correct call. It forwards everything the converter produces — normal-flow elements, absolutely/position:fixed elements, @page size and margins, all four margin-box sets, and <title>/<meta> metadata — and sets the page size from any @page rule. AddHTML is now exactly ConvertFull + AddConvertResult, so the two paths cannot diverge. This closes the discoverability trap where a hand-written for _, e := range result.Elements { doc.Add(e) } loop silently dropped absolutes, margin boxes, and @page config with no error (#338)
  • document.Document.SetPageSize(PageSize) and PageSize() PageSize — read and override the page dimensions after NewDocument. The size was previously fixed at construction even though AddHTML mutates it internally from @page rules; these expose the missing setter/getter. AddConvertResult derives the size from @page automatically, so the pre-NewDocument geometry-resolve dance is no longer required (#338)
  • Code 128 code sets A and Cbarcode.NewCode128 now selects sets A, B, and C automatically instead of Code B only. Set C encodes digit runs as pairs (roughly halving the width of numeric payloads) and set A encodes the ASCII control characters (0–31); bytes above 127 still return an error. Round-trip and golden-pattern tests cover every code-set transition (#346)
  • Native multi-level list numbering via CSS counters and ::markerli::marker { content: ... } now defines the marker string, so counter-reset / counter-increment with counter() / counters() produce true nested numbering (e.g. 1, 1.1, 1.1.1) instead of a per-level restart. Adds list-style-position (inside / outside): inside renders the marker inline with the first content line and wraps subsequent lines under it; outside (default) places it in a gutter that auto-grows to fit a wide marker so multi-level ordinals no longer overlap the item text (short-marker lists stay byte-identical). The list-style shorthand now scans all tokens (position / type / image). layout.List gains SetMarkerInside. New examples/legal-numbering renders a nested Master Services Agreement with hanging indents. Phase 1 of #356
  • Table rowspan vertical geometry — a rowspan cell previously reserved grid occupancy (following rows skipped its columns) but was always drawn one row tall. The spanning cell now spans the full height of its rows: buildGrid excludes rowspanning cells from their starting row's natural height, then resolves span heights from the summed spanned-row heights plus inter-row gaps (growing the last spanned row when content needs more room), and vertical alignment centers across the full span. A rowspan straddling a page break is not yet handled (#357)

Fixed

border-radius (#329)

  • Percentage border-radius renders as a true rounded cornerborder-radius: 50% was resolving against a zero reference and collapsing to 0 (square corners). It now resolves per-axis: a circle on a square box, an ellipse on a rectangle, per CSS Backgrounds §5.5 corner clamping (#329)
  • border-radius survives on a text-bearing box — a box with a direct text run drew its rounded background, then the text's paragraph re-painted the same color as a square rectangle on top, squaring the corners. The redundant fill (and any matching TextRun.BackgroundColor highlight) is now cleared, so the common "number inside a colored circle" badge works as a single rounded box (#329)
  • border-radius applied across the remaining container pathsflex: 0 0 auto chips, grid items, display: block spans, blockquote, figure, and table wrappers each now round like display: inline-block. Previously only the inline-block path took the rounded-rect draw, so visually identical content-hugging boxes rounded or not depending on how they were sized (#329)

CSS paged media — @page, position: fixed, margin boxes (#327, #328)

  • position: fixed elements render on every page — a fixed element (page watermark, pinned footer) was emitted once on the last flowed page instead of repeated on each page. It now draws on every page (#327)
  • @page :first / :left / :right margins inherit the base @page cascade — a partial pseudo-page override (e.g. @page :first { margin: 20px }) now inherits the base @page {} margins for the sides it does not set, and left/right duplex margin boxes resolve correctly (#327)
  • @page parsing correctness bundle — a batch of fixes to @page rule parsing across the converter, layout, and document layers (size/orientation resolution, margin percentage/calc resolution, and margin-box cascade), so every document-building entry point applies identical paged-media geometry (#327)
  • @page margin boxes embed the default font for PDF/A — running headers/footers declared via @bottom-center etc. now carry the embedded body font, so a PDF/A document with page numbering no longer fails conformance on an unembedded font in the margin box (#328)

Lists and inline-block (#330, #339, #342, #347, #358)

  • display: inline-block shrinks to fit and flows inline — an inline-block box now sizes to its content (fit-content width) and participates in inline flow instead of forcing a block break (#330)
  • Styled <li> lays out block children and honors its own box — a list item containing block-level children (cards, nested divs) now lays them out correctly, and the <li>'s own background / border / border-radius is drawn via a per-item box that the list layout previously lacked (#339, #342)
  • inline-block / explicit-width <li> hugs its content and stops double-painting — follow-up to the per-item box: a badge-style <li> now shrinks to content and clears the square background overpaint that squared its rounded corners (#342)
  • Ordered lists continue numbering and keep every item across a page break — a long <ol> spanning pages restarted at 1. on the second page and silently dropped the item straddling the boundary. Numbering now continues the sequence (honoring <ol start="N">), and a boundary item is split or deferred so no content is lost. Adds layout.List.SetStart/Start (#347)
  • Nested list markers indent per level — a sub-list's marker was drawn at the container's left margin regardless of depth, so every nested ordinal sat in the same left column while only the body text indented. Each level's marker now steps right by the accumulated parent indent, landing under its parent's content edge (LTR and RTL; list-style-position: inside already drew relative to the content edge). Single-level lists are unaffected (#358)
  • Margin-box fidelity for @page :left / :right — fixing the wiring around AddConvertResult surfaced that the left/right margin-box reconstruction dropped the HasColor flag and the embedded font that base and :first already carried; all four sets are now consistent (#338)
  • examples/html-to-pdf no longer drops absolutes — the example wired the raw ConvertFull result by hand and forwarded only result.Elements, silently dropping position: fixed/absolute content. It now uses doc.AddConvertResult(result), which forwards elements, absolutes, @page config, and margin boxes in one call (#338)

Barcodes (#341, #346)

  • QR codes are now scannablebarcode.NewQR produced structurally valid but unscannable symbols due to four independent encoder defects: the Reed-Solomon generator polynomial was built constant-term-first (so every block's error-correction codewords were wrong), one of the two format-information copies was written bit-reversed, the version-information bits were written in reverse (breaking version 7+), and the level-H ECC-per-block table had wrong codeword counts for versions 21–40. All four are fixed and verified by an independent decoder (#341)
  • EAN-13 quiet zones — corrected the leading/trailing quiet-zone widths so EAN-13 symbols meet the spec and scan reliably (#346)

Tests

  • Independent barcode decode testsqr_decode_test.go reads generated QR symbols back with an independently-built GF(256) field, cross-checks the codeword-capacity tables, and reads format/version info from the matrix; each check was confirmed to fail when its corresponding fix is reverted. Adds Code 128 (A/B/C) and EAN-13 decode round-trips, and an examples/barcodes demo rendering QR (all four ECC levels), Code 128, and EAN-13 into one PDF for visual/scanner verification (#341, #346)
  • List pagination regression tests — multi-page ordered-list numbering continuity, <ol start> continuation across a break, unordered no-content-loss, a single item taller than a page, and SetStart clamping (#347)
  • AddConvertResult equivalence + fidelity tests — assert AddHTML and ConvertFull + AddConvertResult leave identical document state (page size, all margins, all four margin-box sets, elements, absolutes, metadata), that absolutes and @page config survive, and the :left/:right field-fidelity regression (#338)

Documentation

  • using-folio Claude Code skill — a thin, version-controlled skill (.claude/skills/using-folio) capturing the stable usage patterns: prefer Document.AddHTML (or ConvertFull + AddConvertResult) over hand-wiring, the asset-loadin...
Read more

Contributors

page and carlos7ags
Assets 10
Loading

v0.9.0

31 May 15:09
@github-actions github-actions
9efa456
This commit was created on GitHub.com and signed with GitHub’s verified signature.
GPG key ID: B5690EEEBB952194
Verified
Learn about vigilant mode.

Choose a tag to compare

What's Changed

  • document: deterministic output mode (WriteOptions.Deterministic + SetFileID) by @carlos7ags in #320
  • html: typed error taxonomy (html.ParseError + html.AssetError) by @carlos7ags in #321
  • html: resource guards (Options.MaxElements / MaxDepth + html.LimitError) by @carlos7ags in #322
  • render: thread context.Context through the render entry points by @carlos7ags in #323
  • folio: add root package façade re-exporting the document surface by @carlos7ags in #324

Full Changelog: v0.8.0...v0.9.0

Contributors

carlos7ags
Loading

v0.8.0

30 May 15:23
@github-actions github-actions
d01435b
This commit was created on GitHub.com and signed with GitHub’s verified signature.
GPG key ID: B5690EEEBB952194
Verified
Learn about vigilant mode.

Choose a tag to compare

What's Changed

  • svg: clip to viewport under preserveAspectRatio slice by @carlos7ags in #211
  • html: add Options.BaseFS and Options.Client (#85) by @carlos7ags in #212
  • document: extend PDF/A to A-3a and the PDF/A-4 family by @carlos7ags in #214
  • font: GPOS LookupType 6 (Mark-to-Mark Positioning) by @carlos7ags in #213
  • html: add CSS :empty and ::placeholder support by @carlos7ags in #215
  • layout: apply Unicode NFC normalization at the layout entry point by @carlos7ags in #217
  • layout: generalize Indic shaper to eight additional Brahmic scripts by @carlos7ags in #216
  • font: add GPOS LookupType 3 (cursive) and LookupType 5 (mark-to-ligature) by @carlos7ags in #218
  • font: fix GPOS cursive horizontal placement and tighten Type 5 by @carlos7ags in #220
  • html: unify on Options.BaseFS, add Logger, fix @font-face resolution by @carlos7ags in #219
  • layout: resolve CSS counter(page)/counter(pages) in body flow by @carlos7ags in #221
  • html: emit real PDF link annotations for href="#anchor" with auto-registered destinations by @carlos7ags in #223
  • layout: finish CSS GCPM bookmark properties for PDF outlines by @carlos7ags in #224
  • font: add Fallback for cross-script font dispatch (Phase 1 of #192) by @carlos7ags in #225
  • html: add Options.StrictAssets to promote asset-load failures to errors by @carlos7ags in #234
  • html, layout: fix flex shorthand with calc/min/max basis by @carlos7ags in #236
  • font: load TrueType Collections via face-0 extraction by @carlos7ags in #235
  • layout: add MeasureLines and MeasureHeight to Paragraph by @carlos7ags in #238
  • html: fix margin/padding shorthand with calc/min/max values by @carlos7ags in #237
  • html: fix font shorthand with calc/min/max in size by @carlos7ags in #240
  • html: centralize asset resolution behind one resolveLocalAsset by @carlos7ags in #239
  • layout: preserve inline elements and Arabic OriginalText across page splits by @carlos7ags in #241
  • html: fix border shorthand with calc width and rgb/rgba/hsl color by @carlos7ags in #242
  • font: drop falsely-advertised PostScript Type 1 (typ1) magic by @carlos7ags in #243
  • html: fix background-size with calc/min/max values by @carlos7ags in #244
  • examples/cjk: add end-to-end test (Phase 1 of #231) by @carlos7ags in #245
  • html: fix @page size with calc/min/max values by @carlos7ags in #247
  • layout: honor SpaceAfter=0 when reconstructing paragraph runs across page splits by @carlos7ags in #246
  • html: fix gap/grid-gap shorthand with calc/min/max values by @carlos7ags in #249
  • layout: lock in cloneWithWords hyphenation contract with a guard test by @carlos7ags in #250
  • html: fix border-radius shorthand with calc/min/max values by @carlos7ags in #252
  • layout: add SplitAfterLine to Paragraph by @carlos7ags in #253
  • html: fix box-shadow with calc/min/max length values by @carlos7ags in #254
  • html: fix transform-origin with calc/min/max length values by @carlos7ags in #257
  • html: fix border-spacing shorthand with calc/min/max values by @carlos7ags in #258
  • html: fix columns shorthand with calc/min/max width values by @carlos7ags in #259
  • html: fix column-rule with calc width and rgb/rgba/hsl color by @carlos7ags in #261
  • html: fix margin auto-flag detector with calc/min/max values by @carlos7ags in #263
  • font: drop sfnt dependency by parsing tables directly (#260) by @carlos7ags in #262
  • html: paren-aware slash detector + column-rule none/hidden zeros width by @carlos7ags in #270
  • html: refactor CSS parser into declarative property registry by @carlos7ags in #271
  • html: paren-aware parseTransform extractor + comma-preserving arg split by @carlos7ags in #272
  • docs: expand CSS_SUPPORT.md with glossary, alignment notes, workarounds by @carlos7ags in #273
  • font, examples/cjk: language-aware TTC face selection by @carlos7ags in #277
  • font: address review feedback on language-aware TTC PR (#277 follow-up) by @carlos7ags in #279
  • docs: add Selectors / At-rules / Functions sections to CSS_SUPPORT.md (closes #162) by @carlos7ags in #282
  • export: add C ABI wrappers for paragraph measure/split + language-aware font parse by @carlos7ags in #283
  • html: parseAngle/parseNumericVal/parseLineHeight understand calc/min/max/clamp (closes #274, #275) by @carlos7ags in #284
  • html: promote font-weight to numeric ladder + nearest-weight @font-face matching (closes #286) by @carlos7ags in #287
  • html: add CSS text-align: start | end with direction-relative late binding by @carlos7ags in #288
  • html, layout: add CSS text-decoration-line: overline by @carlos7ags in #289
  • html: render CSS border styles groove / ridge / inset / outset by @carlos7ags in #290
  • html, layout: honours max-width / max-height / min-width / min-height (closes #291) by @carlos7ags in #292
  • pin paragraph background to line box under center/right align by @samueldominguez in #293
  • layout: honor word-break:break-all in measureWords second pass by @samueldominguez in #294
  • build(deps): bump golang.org/x/text from 0.36.0 to 0.37.0 by @dependabot[bot] in #298
  • build(deps): bump golang.org/x/image from 0.39.0 to 0.40.0 by @dependabot[bot] in #297
  • font: CFF subsetting for CID-keyed CJK fonts (closes #295) by @carlos7ags in #300
  • examples/html-to-pdf: add CI (#231) by @carlos7ags in #301
  • examples/report: add CI (#231) by @carlos7ags in #302
  • examples: add CI for hello, links, template (#231) by @carlos7ags in #303
  • examples: add CI for merge, import-page, redact (#231) by @carlos7ags in #304
  • font, integration: synthetic CJK font fixture (closes #281) by @carlos7ags in #305
  • build(deps): bump golang.org/x/net from 0.53.0 to 0.54.0 by @dependabot[bot] in #296
  • html: direct unit test for parseLineHeight (closes #275) by @carlos7ags in #306
  • layout: preserve OriginalText + GIDs across breakLongWords chunks (closes #255) by @carlos7ags in #307
  • html: propagate to @font-face face selection (closes #280) by @carlos7ags in #308
  • html: Phase 1 of #269 — sibling *cssLength fields for margin/padding by @carlos7ags in #309
  • html: Phase 2 of #269 — migrate consumers to MarginTopAt / PaddingTopAt helpers by @carlos7ags in #310
  • html: Phase 4 of #269 - remove legacy float64 margin/padding fields by @carlos7ags in #311
  • html: recognize calc()/min()/max()/clamp() in gradient stops and bg-position (closes #265, #266) by @carlos7ags in #312
  • all: standardize error message prefixes by @carlos7ags in #313
  • html: close review findings on #312 — doc gap + 10 tests by @carlos7ags in #314
  • html: reset depth between calc operator scan passes by @carlos7ags in #315
  • html, layout: lazy-resolve background-position at draw time (closes #266) by @carlos7ags in #319
  • build(deps): bump golang.org/x/image from 0.40.0 to 0.41.0 by @dependabot[bot] in #317
  • build(deps): bump golang.org/x/net from 0.54.0 to 0.55.0 by @dependabot[bot] in #316
  • docs: prepare CHANGELOG and MIGRATING for v0.8.0 by @carlos7ags in https://gi...
Read more

Contributors

page, carlos7ags, and 3 other contributors
Loading

v0.7.1

23 Apr 10:27
@github-actions github-actions
70dcee4
This commit was created on GitHub.com and signed with GitHub’s verified signature.
GPG key ID: B5690EEEBB952194
Verified
Learn about vigilant mode.

Choose a tag to compare

What's Changed

Full Changelog: v0.7.0...v0.7.1

Contributors

carlos7ags
Loading

v0.7.0

21 Apr 19:41
@github-actions github-actions

Choose a tag to compare

What's Changed

  • Plumb stop-opacity through layout.GradientStop by @carlos7ags in #146
  • Fix CSS !important cascade at inline/stylesheet boundary (#137) by @carlos7ags in #144
  • Fix panic on
    inside and other inline elements (#147) by @carlos7ags in #149
  • Land stress-test examples from #126 and fix stale README claims by @carlos7ags in #153
  • Add comprehensive
    -in-inline regression tests (#147, #10) by @carlos7ags in #151
  • Replace magic-string line-break marker with TextRun.IsLineBreak (#150) by @carlos7ags in #156
  • Add CJK line-breaking support with kinsoku shori rules by @carlos7ags in #157
  • Add RTL text support: bidi, Arabic shaping, GSUB, HTML direction (#37, #160) by @carlos7ags in #148
  • Add tmpl package: Go html/template integration for PDF generation by @carlos7ags in #155
  • Support @font-face with base64 data URI fonts (#159) by @carlos7ags in #163
  • Wire OpenType GSUB substitutions into Arabic shaper (#160) by @carlos7ags in #164
  • Audit content package: validation, ISO 32000 operators, coverage by @carlos7ags in #166
  • Audit core package: correctness fixes, tests, and gradual API cleanup by @carlos7ags in #165
  • Harden image decoders against malicious input by @carlos7ags in #167
  • Audit font package: sentinel errors, concurrency contract, coverage by @carlos7ags in #168
  • Strengthen image tests, fix JPEG parser OOB found by fuzz by @carlos7ags in #169
  • Segment text runs by Unicode script per UAX #24 by @carlos7ags in #170
  • Parse and apply GSUB LookupType 4 ligature substitutions by @carlos7ags in #171
  • Fix TrueType kern table coverage decode, cache pairs, measure kerning by @carlos7ags in #172
  • Phase 2 audit follow-ups: composite glyph tests and Adobe CMYK JPEGs by @carlos7ags in #173
  • Parse and apply GSUB LookupType 6 chaining contextual substitution by @carlos7ags in #174
  • Parse OpenType GPOS pair and mark-to-base positioning by @carlos7ags in #175
  • Implement UAX #29 grapheme clusters and snap bidi splits to cluster boundaries by @carlos7ags in #176
  • Optimizer phase 1: cross-reference streams and object streams by @carlos7ags in #177
  • Phase 3 audit follow-ups: SVG preserveAspectRatio and barcode fuzzers by @carlos7ags in #178
  • Kashida (tatweel) justification for Arabic paragraphs by @carlos7ags in #179
  • Emit /ActualText markers around shaped Arabic words by @carlos7ags in #180
  • examples/optimize: multi-fixture comparison and README mention by @carlos7ags in #181
  • Wire GSUB ligature features into Arabic shaping by @carlos7ags in #182
  • Make font.MeasureString cluster-aware by @carlos7ags in #183
  • Dispatch GSUB chain context actions to ligature and chain lookups by @carlos7ags in #184
  • Wire GPOS mark-to-base anchors into the draw pipeline by @carlos7ags in #185
  • Add Devanagari shaper for Hindi, Sanskrit, Marathi, Nepali by @carlos7ags in #186
  • Bump golang.org/x/net from 0.52.0 to 0.53.0 by @dependabot[bot] in #188
  • Bump golang.org/x/image from 0.38.0 to 0.39.0 by @dependabot[bot] in #189
  • Fix multi-column layout: sequential balanced fill instead of round-robin by @carlos7ags in #193
  • Bump softprops/action-gh-release from 2 to 3 by @dependabot[bot] in #200
  • optimize: orphan sweep + size-regression guard primitive (#201) by @carlos7ags in #202
  • optimize: Flate recompression of stream payloads (#203) by @carlos7ags in #204
  • Add examples/indic program showing Devanagari shaping by @carlos7ags in #191
  • optimize: structural deduplication + content stream operator cleanup by @carlos7ags in #205

Full Changelog: v0.6.2...v0.7.0

Contributors

carlos7ags, dependabot, and font-face
Loading
tmeckel reacted with thumbs up emoji tmeckel reacted with hooray emoji tmeckel reacted with rocket emoji
1 person reacted

v0.6.2

08 Apr 22:34
@github-actions github-actions

Choose a tag to compare

What's Changed

  • Honor column-span: all inside multi-column containers by @carlos7ags in #131
  • Fix multi-line headings overprinting wrapped lines by @carlos7ags in #132
  • Preserve table sizing fields across page-break continuations by @carlos7ags in #136
  • Fix flexbox order and align-items via CSS custom properties by @carlos7ags in #138
  • Fix CSS Grid align-items, justify-items, and container height by @carlos7ags in #140
  • Preserve heading tag and fix Consumed accounting across page breaks by @carlos7ags in #139
  • Fix SVG rendering gaps: data-URI images, gradients, inline SVG in paragraphs (#130) by @carlos7ags in #141
  • Fix inline emphasis splitting paragraphs + table cell % overflow in flex by @carlos7ags in #142
  • Expand C ABI to 372 exports: Document, Div, Cell, Grid, Flex, highlights, PKCS12 by @carlos7ags in #143

Full Changelog: v0.6.1...v0.6.2

Contributors

carlos7ags
Loading
bokunodev reacted with thumbs up emoji bokunodev reacted with heart emoji
1 person reacted

v0.6.1

06 Apr 01:49
@github-actions github-actions

Choose a tag to compare

What's Changed

Full Changelog: v0.6.0...v0.6.1

Contributors

carlos7ags
Loading
aburg reacted with heart emoji
1 person reacted

v0.6.0

03 Apr 15:31
@github-actions github-actions

Choose a tag to compare

What's Changed

  • Add element-based header/footer API with automatic space reservation by @carlos7ags in #68
  • Close 11 rendering gaps from HTML support audit by @carlos7ags in #69
  • Split large html/ files into focused modules by @carlos7ags in #70
  • Feat: Support per-run text highlight background color by @bendavidsonku in #72
  • Add 11 CSS features: running headers, selectors, colors, math functions by @carlos7ags in #74
  • Use actual font metrics for highlight, underline, and strikethrough by @carlos7ags in #75
  • Architecture audit: documentation, naming, and API cleanup by @carlos7ags in #76
  • Fix Phase 2 audit issues: alpha, font flags, kern bounds, validation by @carlos7ags in #77
  • Fix Phase 3 audit: page-break-inside, selectors, colors, docs by @carlos7ags in #78
  • Fix Phase 4 audit: encryption detection, multi-sign, Page error, predictor bounds by @carlos7ags in #79
  • Phase 5 audit: test coverage for zero-coverage public APIs by @carlos7ags in #80
  • Bump golangci/golangci-lint-action from 7 to 9 by @dependabot[bot] in #81
  • Bump actions/download-artifact from 4 to 8 by @dependabot[bot] in #82
  • Bump actions/upload-artifact from 4 to 7 by @dependabot[bot] in #83
  • Add AddHTMLTemplate for data-driven PDF generation by @carlos7ags in #84
  • Fix overflow handling to include following siblings in layout. by @AnalogJ in #13
  • Feat: Support inline elements (images, SVGs, inline-block) within paragraphs by @bendavidsonku in #71
  • Fix and rendering: baseline shift and adjacent run spacing by @carlos7ags in #87
  • Support baseline-shift CSS property and vertical-align lengths by @carlos7ags in #93
  • Fix baseline calculation using CSS half-leading by @carlos7ags in #92
  • Preserve empty lines from consecutive newlines in paragraphs by @carlos7ags in #94
  • Fix punctuation at font boundaries to keep its own font by @carlos7ags in #96
  • Preserve blank lines across page splits in paragraph overflow by @carlos7ags in #97

New Contributors

Full Changelog: v0.5.2...v0.6.0

Contributors

AnalogJ, carlos7ags, and 2 other contributors
Loading
tmeckel reacted with thumbs up emoji tmeckel reacted with hooray emoji aburg reacted with heart emoji tmeckel reacted with rocket emoji
2 people reacted

v0.5.2

26 Mar 18:41
@github-actions github-actions

Choose a tag to compare

What's Changed

  • Add merge example: parse, merge, and extract text from PDFs by @carlos7ags in #55
  • Add sign example: PAdES B-B digital signature with self-signed cert by @carlos7ags in #56
  • Examples/report by @carlos7ags in #57
  • Implement PDF redaction with character-level precision by @carlos7ags in #59
  • Add PDF/UA accessibility: alt text, custom tags, structure tree reading by @carlos7ags in #60
  • Support \n as line break in Paragraph text, fix gofmt by @carlos7ags in #63
  • Add Page.ImportPage for using existing PDFs as templates by @carlos7ags in #62
  • Add C ABI exports for redaction, page import, and drawing primitives by @carlos7ags in #64

Full Changelog: v0.5.1...v0.5.2

Contributors

carlos7ags
Loading

v0.5.1

25 Mar 05:36
@github-actions github-actions

Choose a tag to compare

Full Changelog: v0.5.0...v0.5.1

Loading
Previous 1
Previous

AltStyle によって変換されたページ (->オリジナル) /