Repository navigation
1.6.0: EPS transparency, audio channels and WAV options, PDF to DOCX tabs and line breaks - #40
Merged
Merged
Conversation
EPS reached PNG through PDF, and PDFium draws a PDF page on white paper, so the empty parts of an EPS came out white. Ghostscript now renders EPS/PS straight to PNG with its pngalpha device (EPS cropped to the bounding box, at the preset's render DPI, one PNG per page of a PostScript file), then the preset's image options apply as usual. Other targets (WebP, TIFF, ...) go through that PNG and keep the transparency too. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…it depth (#37) - The audio bitrate list adds 32, 48 and 64 kbit/s (speech, small files). - A channels option (same as the source, mono, stereo) for every audio target but AMR. - WAV gets a sample rate (8 to 48 kHz) and a bit depth (8, 16, 24, 32-bit, 32-bit float); 16-bit stays the default. - The editor lays out the audio options two per row, whichever apply. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
- A line split at wide gaps ("1. RFP Published 08/14/2026") is joined again with tabs and left tab stops where
its parts start, unless a column gutter lies between them. A gap is a tab after a list number, when wider than
6 em, or at the same place as a tab in a neighbouring row (a form's value column).
- A tabbed row starts its own paragraph; only text under its last part continues it.
- In a paragraph narrower than its column, a line that ended although the next line's first word would have fitted
keeps its line break (address blocks).
- PDF to TXT writes the tabs and line breaks.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes the three open issues and bumps the version to 1.6.0.
EPS and PS to PNG keep a transparent background (#39)
EPS/PS → PNG used to go through PDF and PDFium, which draws the page on white paper. Ghostscript now renders the PNG directly with its
pngalphadevice (EPS cropped to its bounding box, the preset's render DPI, one PNG per page for multi-page PS), so empty areas stay transparent. JPG and other formats without transparency still go through PDF.Audio options: low bitrates, channels, WAV sample rate and bit depth (#37)
PDF to DOCX keeps tabbed rows and line breaks (#38)
Checked with the RFP attached to the issue:
~~ 97068keeps its own line under the street (a line break in the paragraph).How it works: a line split at a wide gap is joined again with a tab unless a column gutter lies between the parts, and only when the gap is a tab (after a list number, wider than 6 em, or at the same place as a tab in a neighbouring row). A line in a paragraph narrower than its column that ended although the next word would have fitted keeps its line break. Two-column pages are read as before.
Tests
Closes #37
Closes #38
Closes #39
🤖 Generated with Claude Code