Scribus Forums

Development => Features => Topic started by: Pexim SLani on February 13, 2026, 10:36:25 PM

Title: Native Text Hyperlink Support in Scribus
Post by: Pexim SLani on February 13, 2026, 10:36:25 PM
Integrating Native Hyperlink Support into Scribus Text Engine
(Right-Click → Insert Hyperlink)


1. Problem Statement

Currently in Scribus, hyperlinks in PDF documents are implemented as separate PDF Annotation objects that are manually positioned over text frames.

This creates several workflow limitations:


In professional DTP workflows (books, magazines, technical documentation, hybrid print/digital PDFs), hyperlink support is expected to be integrated into the text engine, similar to:


This proposal outlines a possible architectural approach to implement native hyperlink support in Scribus.


2. Architectural Overview
Current Model (Simplified)

Scribus currently separates:


Hyperlinks exist only at the annotation level, not within text attributes.


3. Proposed Architectural Enhancement
Goal:

Add hyperlink as a character-level text attribute, similar to:



4. Core Implementation Layers
4.1 Text Engine Layer

Add a new character attribute:

struct HyperlinkAttribute {
    enum LinkType {
        ExternalURI,
        InternalPage,
        NamedDestination,
        Email
    };

    LinkType type;
    QString target;
};


This attribute should:


4.2 UI Layer
Context Menu

When text is selected:


If selection already contains hyperlink:



4.3 Hyperlink Dialog

Minimal dialog structure:

Fields:

Link Type:

External URL

Page

Named Destination

Email

Target (dynamic input depending on type)

Optional:

Checkbox: Apply "Hyperlink" character style



4.4 Styling System Integration

Hyperlinks should:



4.5 PDF Export Layer

During PDF export:

For each text frame:


QuotePseudo-code:

for each textFrame in document:
    for each textRun in textFrame:
        if textRun.hasHyperlink():
            rect = layoutEngine.calculateBoundingBox(textRun)
            pdfExporter.createLinkAnnotation(rect, textRun.hyperlinkTarget)

Important:



5. Backward Compatibility



6. Optional Phase 2 Enhancements




Benefits



Conclusion

Native hyperlink support inside the text engine would significantly modernize Scribus' PDF workflow.

Even a minimal implementation (character attribute + export mapping) would dramatically improve usability and reduce manual annotation management.

This feature would elevate Scribus from "print-focused DTP with annotation workaround" to a fully capable hybrid publishing tool.
Title: Re: Native Text Hyperlink Support in Scribus
Post by: a.l.e on February 14, 2026, 05:11:34 PM
Would you mind, asking your AI to convert that pseudo code in a patch we can apply to Scribus?