Skip to content

v1.17.8

Choose a tag to compare

@DedovMosol DedovMosol released this 27 Jul 07:40
· 87 commits to main since this release

iwo Helper Desktop v1.17.8

Added

  • Printing, on every PDF screen. A “Print” button on Merge, Split and PDF → Word prints the
    pages you selected, or all of them if you selected none, and the full-size preview has one too
    alongside its right-click entry. Pages are rendered at 200 dpi and fitted into the sheet whole
    and centred — stretching a page to the edges would crop the margins, which is where signatures
    and page numbers live — and a rotation you set in the grid reaches the paper as well.
  • Zoom and pan in the full-size preview. The page you open by double-clicking a tile now
    has a magnifier: − / + buttons, Ctrl+wheel, a “fit to window” button and Ctrl+0 for actual
    size. Zooming with the wheel keeps the point under the cursor in place — you magnify what you
    are looking at, not the middle of the page — and once the page is larger than the window you
    drag it with the hand cursor. Esc and the close button close it.
  • Assemble a double-sided scan (Merge → menu). For a scanner that takes one side at a time:
    scan the stack face up, flip it, scan again, add both files and use this item. The app asks
    whether the second file came out in reverse and lays the pages out as 1, 2, 3, 4… A single
    Ctrl+Z puts the order back.
  • Save pages as images (Split → “More with this document”): PNG or JPEG at 96, 150, 300 or
    600 dpi, either the selected pages or all of them. The resolution is applied to each page's
    real paper size, so a landscape insert is not stretched. JPEG is written at quality 90 rather
    than the default 75, which shows up as rings around letters on scans.
  • Extract the text layer to a .txt (Split → “More with this document”). Tables are kept: the
    analysis moves table words out of the paragraph stream, so a naive dump would lose them
    entirely — cells come out separated by tabs and paste into a spreadsheet as a table. Pages are
    separated by a form feed, as pdftotext does, and the file is UTF-8 with a byte-order mark so
    Notepad shows Cyrillic correctly.
  • Name the split parts yourself (Split → “How to name the parts”). Right-clicking the field
    inserts the available keywords: [BASENAME], [FILENUMBER], [CURRENTPAGE], [BOOKMARK],
    [TIMESTAMP]. Hashes pad with zeros ([FILENUMBER###] → 001) and a number offsets the
    count ([FILENUMBER10] → 11). The field is optional on purpose: left empty, the parts get
    exactly the names they got before, so a new capability does not rename anyone's files.
  • Print on both sides without a document starting on a back (Merge → “Add a blank page”): a
    blank page is added after a document with an odd page count so the next one starts on the
    front of a sheet. The last document is deliberately not padded — nothing is printed after
    it. The blanks are added when the file is written, not kept in the page grid: putting them
    in the model would mean drawing them as tiles, carrying them through the clipboard and undo
    and forbidding them in PDF → Word, which is a lot of risk for a print-time detail.
  • Edit document properties — title, author, subject, keywords (Split → “More with this
    document”). Clearing a field removes the property, which is how an author's name is taken
    out of a file before sending it. The result is written to a new file.
  • Select odd or even pages from the page grid's context menu — the two sides of a
    double-sided stack, so rotating or deleting one side no longer means ticking fifty tiles.
  • Convert to grayscale and repair a damaged PDF (Split → “More with this document”).
    Repair rewrites the file through the PDF engine, which is what fixes a broken cross-reference
    table — the usual “this file is damaged”. It picks the file with its own dialog, because a
    damaged document cannot be opened into the grid in the first place, and that is exactly when
    it is needed. Both write a new file: the app never modifies a source.

Changed

  • The extra tools are reachable from a button called “More actions…”, sitting with the other
    inputs in Split, and it opens downwards instead of over the top of the window. Five
    capabilities behind a hamburger submenu were, in practice, invisible; that submenu is gone,
    so there is one list and one way to reach it.
  • The in-app instructions match the app again — they now describe printing, the extra
    actions, the part-name template, interleaving and double-sided padding.
  • Changing the language no longer throws every window at you. Rebuilding the windows in the
    new language used to bring each of them to the front and restore the minimized ones. Only the
    window you were working in comes forward now; the rest update where they stand.
  • Everything that writes a result beside a source now refuses to write over it. The app
    does not modify sources, and writing a file into itself would have damaged it as well — the
    source is open for reading at that moment.
  • The compression levels name their resolution — “Good — smaller size (150 dpi)” instead of
    “Good — smaller size”. The number comes from the same place the engine arguments do, so the
    label cannot promise one thing while the engine does another.
  • The shared Ghostscript pipeline (run, validate, replace only on success, restore the original
    on any failure) is now one piece of code used by compression and by both new conversions. They
    differ only in arguments and in when a replacement is allowed: compression replaces the file
    only if it got smaller, while grayscale and repair apply whenever the result is sound.
  • One file-name sanitiser instead of two that had drifted apart. The surviving one also trims
    trailing dots and caps the length, which protects split-by-bookmark names from the path-length
    limit.
  • The description in “About” is justified, the way a paragraph of body text is set, and it is
    still selectable so the text can be copied.

Fixed

  • A minimized start screen was lost when the language changed. Windows are rebuilt in the new
    language on the spot they occupied, but a minimized window reports a position far outside every
    screen (-32000, -32000) and that position was copied onto the new start screen. It came back as
    an ordinary window parked past the edge of the desktop: listed in the taskbar, absent from the
    screen, and “Home” appeared to do nothing at all. This happened from any of the four tools, not
    just one. Placement is now read and applied exactly the way the app already stored it between
    runs — restored size and position together with the window state — so a minimized window stays
    minimized and comes back where it was. That rule lives in one place instead of two that had
    drifted apart, and a test drives a real rebuild with the start screen minimized.

Files: iwoHelperDesktop-1.17.8.exe / iwoHelperDesktop-1.17.8-x86.exe - portable (single file, 64-bit / 32-bit); iwoHelperDesktop-setup-1.17.8.exe / iwoHelperDesktop-setup-1.17.8-x86.exe - installers with bundled Ghostscript (per-user install, no administrator rights). Take x64 unless your Windows is 32-bit.