DE69732684T2 - Automatische Modifizierung von Dokumentgestaltungen - Google Patents

Automatische Modifizierung von Dokumentgestaltungen Download PDF

Info

Publication number
DE69732684T2
DE69732684T2 DE69732684T DE69732684T DE69732684T2 DE 69732684 T2 DE69732684 T2 DE 69732684T2 DE 69732684 T DE69732684 T DE 69732684T DE 69732684 T DE69732684 T DE 69732684T DE 69732684 T2 DE69732684 T2 DE 69732684T2
Authority
DE
Germany
Prior art keywords
page
frame
content item
original
edge
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE69732684T
Other languages
English (en)
Other versions
DE69732684D1 (de
Inventor
Richard A. Bothell Gartland
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Adobe Inc
Original Assignee
Adobe Systems Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Adobe Systems Inc filed Critical Adobe Systems Inc
Application granted granted Critical
Publication of DE69732684D1 publication Critical patent/DE69732684D1/de
Publication of DE69732684T2 publication Critical patent/DE69732684T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text

Description

  • Die vorliegende Erfindung bezieht sich im allgemeinen auf Berechnungs- bzw. Rechensysteme, welche Mittel zum Anzeigen von Dokumenten beinhalten, und besonders auf eine Vorrichtung und ein Verfahren für ein automatisches Modifizieren einer Dokumentengestaltung in einem Anzeigeraum.
  • Hintergrund
  • Dokumenten-Veröffentlichungs-Softwarepakete können Wortverarbeitungs-, Seitengestaltungs-, Graphikbearbeitungs- und ein Buch erstellende Funktionen in ein integriertes Produkt bündeln, um Dokumente mit verschiedenen Komplexitäten aus einfachen Notizen zu komplexen Mehrkapiteldokumenten mit importierten Graphiken zu erzeugen. Ein Beispiel eines derartigen Dokumenten-Veröffentlichungs-Softwarepakets ist PageMakerTM, hergestellt durch Adobe Systems Incorporated, von San Jose, Kalifornien.
  • Andere Dokumentenbereitstellungs-Programme oder -Systeme weisen nur Wort bearbeitende Funktionen und begrenzte Graphikmöglichkeiten auf. Dieser Typ von Dokumentensystemen beinhaltet vollständig funktionierende Wort-Prozessoren, wie beispielsweise Microsoft Word, erzeugt durch Microsoft Corporation von Redmond, Washington.
  • Einmal erzeugt, werden Dokumente häufig von ihrem ursprünglichen Format modifiziert, um sich an neue oder sich ändernde Anwendererfordernisse anzupassen. Beispielsweise kann ein Dokument eine einzige Spalte Text enthalten, welche in zwei oder mehrere Spalten konvertiert werden soll. Beim Durchführen einer derartigen Konversion bzw. Umformung wird von dem System verlangt, die Gestaltung bzw. das Layout des Inhalts bzw. Contents einzustellen, der mit den verschiedenen Seiten des Dokuments assoziiert ist, um die durch den Anwender ausgewählten Veränderungen zu bewältigen. Ein möglicher Effekt von einer Änderung im Format ist, daß es in Unterlauf- oder Überlaufbedingungen zwischen Seiten resultieren kann. Ein Unterlauf tritt auf, wenn eine Layout- bzw. Gestaltungsänderung im mehr als auf einer Seite zur Verfügung stehendem Raum resultiert, um Text anzuzeigen bzw. darzustellen, und dementsprechend muß Text von einer nächsten Seite bewegt werden, um den verfügbaren Raum zu befüllen. Eine Überlaufbedingung tritt auf, wenn Text von einer Seite des Dokuments zu einer anderen Seite als ein Resultat des Umgestaltungsvorgangs überquillt.
  • In einem Dokumenten-Veröffentlichungs-System definiert der Seitenrahmen, wie Inhalt bzw. Content auf einer vorgegebenen Dokumentenseite organisiert und angezeigt wird. Der Seitenrahmen beinhaltet Glieder, welche verwendet werden, um den Inhalt auf der Seite zu positionieren, auszurichten oder sonst den Inhalt auf der Seite zu organisieren. Die Glieder beinhalten Ränder, Seitenkanten bzw. -ränder, Linealführungen und Spaltenkanten. Seiteneigenschaften, wie beispielsweise eine Seitengröße und Orientierung (Porträt oder Landschaft) beeinflussen die Anordnung von Rahmengliedern auf der Seite. Dementsprechend wird, wenn Modifikationen an einer Seiteneigenschaft durch den Anwender vorgenommen werden, von dem Dokumenten-Veröffentlichungs-System verlangt, die assoziierten Rahmenglieder zu ihren neuen Anordnungen bzw. Stellen einzustellen. Jeder Inhalt, der mit einem dieser neuen zugeordneten Gerüst- bzw. Gefüge- bzw. Rahmenglieder assoziiert (oder ausgerichtet) ist, muß auf ähnliche Weise in der neuen Seitengestaltung neu zugeordnet werden oder es wird von einem Anwender verlangt, manuell die Einstellung durchzuführen.
  • 1 zeigt eine typische Wort-Prozessor- bzw. Wort-Verarbeitungsannäherung zum Anzeigen von Inhalt auf einer Seite. Ein Wort-Verarbeitungsprogramm bestimmt den verfügbaren Spaltenraum in dem Seitenrahmen für einen Inhalt basierend auf der Position von Rahmengliedern, basierend auf vom Anwender ausgewählten (oder voreingestellten) Seiteneigenschaften des Seitenrahmens bzw. Seitengrundgerüst (100). Der Inhalt (z.B. Worte, die durch den Anwender geschrieben bzw. getippt wurden) wird automatisch innerhalb der verfügbaren Spaltenfläche (102) positioniert. Danach kann die Seite angezeigt werden (104). Auf bzw. nach Erhalt einer Anfrage bzw. Anforderung, den Seitenrahmen zu wechseln (in der Form einer Änderung an einer Seiteneigenschaft oder dem Neupositionieren eines individuellen Rahmenglieds) (106), bestimmt das Programm den verfügbaren Spaltenraum für den Inhalt basierend auf dem neuen Seitenrahmen (108). Danach stellt das Programm die Seitenrahmenglieder ein und positioniert den Inhalt innerhalb des verfügbaren Raums (110) neu. Schließlich kann die neue Seite angezeigt bzw. dargestellt werden (112). Dieser Vorgang wiederholt sich bei Schritt 104 jedesmal, wenn ein Seitenrahmenglied oder eine Seiteneigenschaft durch den Anwender eingestellt wird. Beispielsweise wird, um die Inhaltsfläche auf der Seite schmaler zu machen, von dem Anwender verlangt, die linken und/oder rechten Grenzen bzw. Ränder zu erweitern. Ein zufälliges Positionieren von Inhalt – besonders mehrfacher Stücke von Inhalt, wie beispielsweise eine Auswahl von Text und graphischen Objekten – ist unmöglich.
  • Andere Dokumenten-Veröffentlichungs-Systeme erlauben mehr Freiheit bei der Plazierung von Inhalt auf einer Seite. Derartige Systeme behandeln einen Inhalt typischerweise als Objekte bzw. Gegenstände. Beispielsweise erlaubt PageMaker es einem Anwender, Inhalt (entweder Text oder Graphiken) zufällig bzw. willkürlich auf einer Seite zu plazieren. Der Anwender paßt die Objekte größenmäßig an und positioniert diese danach auf der Seite an willkürlichen Stellen. Diese Annäherung bzw. dieser Zugang gestattet eine vollständige Flexibilität des Layouts bzw. der Gestaltung für die Seite, wobei derartigen Systemen eine Überlegenheit gegenüber Wort-Verarbeitungsprogrammen für Situationen gegeben wird, wo eine Design- bzw. Entwurfsfreiheit wichtig ist.
  • Während dieser Typ von Freiheit wünschenswert ist, treten Schwierigkeiten auf, wenn der Seitenrahmen abgeändert wird. Typischerweise, sind Freiform-Dokumentveröffentlichungs-Systeme, welche die willkürliche Plazierung von Inhalt auf einer Seite zulassen, unfähig, um Inhalt automatisch auf einer Seite in Antwort auf eine Veränderung des Seitenrahmens umzugestalten. Dementsprechend muß ein Inhalt in der Größe angepaßt bzw. neu dimensioniert werden oder manuell neu positioniert werden, nachdem Änderungen an dem Seitenrahmen vorgenommen wurden. In diesen Freiform-Dokumentveröffentlichungs-Systemen wird eine Ausrichtung des Inhalts zu Rahmengliedern gänzlich zufällig bzw. übereinstimmend angenommen und diese werden durch das Programm nicht beachtet, wenn sie nach Befehlen bzw. Instruktionen eines Anwenders handeln, um den Seitenrahmen zu modifizieren.
  • Das Dokument EP-A-0 576 178 zeigt ein Verfahren zum Spezifizieren räumlicher Beziehungen zwischen Elementen in einer Graphikumgebung. Eine Beschränkungsbeziehung, welche zwischen zwei graphischen Elementen eingeführt bzw. auferlegt wird, wird durch die Bearbeitung der Elemente aufrecht erhalten. Das Selbstausrichtungs-Werkzeug dieses Dokuments befähigt einen Ver- bzw. Anwender, eine spezifische Ausrichtungsbegrenzungs-Beziehung zwischen zwei graphischen Elementen zu definieren.
  • Zusammenfassung der Erfindung
  • Die Erfindung stellt ein Verfahren zum Neupositionieren eines Inhaltsgegenstands bzw. Content-Objekts auf einer Seite eines elektronischen Dokuments, wie dies in dem unabhängigen Anspruch 1 dargelegt ist, und ein Computerprogramm-Produkt zum Neupositionieren eines Content-Objekts auf einer Seite zur Verfügung.
  • Die ursprüngliche Seitenrahmen-Information, die mit der Seite assoziiert ist, wird eine Beschreibung für jedes Gerüst- bzw. Rahmenglied in dem ursprünglichen Seitenrahmen beinhaltend wieder erlangt. Ausrichtungsdaten für das Content-Objekt bzw. den Inhaltsgegenstand werden abgeleitet, indem bestimmt wird, ob irgendeine Kante des Content-Objekts mit einem Gerüst- bzw. Rahmenglied ausgerichtet ist. Danach wird die Seitengestaltung bzw. das Seitenlayout entsprechend der Anwenderanfrage neu definiert. Schließlich wird das Content-Objekt auf der neudefinierten Seite basierend auf den Ausrichtungsdaten neu positioniert.
  • Bevorzugte Ausführungsformen beinhalten die folgenden Merkmale bzw. Eigenschaften. Die Benutzeranfrage ändert die Position eines Rahmenglieds. Das Gefüge- bzw. Rahmenglied, welches durch den Anwender bzw. Benutzer geändert wurde, wird aus der Gruppe ausgewählt, bestehend aus Begrenzungen bzw. Seitenrändern bzw. -kanten, Spaltenkanten, Seitenkanten und Lineal-Führungen. Ein Ableiten von Ausrichtungsdaten beinhaltet ein Wiedererlangen bzw. Abrufen positioneller bzw. auf die Lage bezogener Information für das Content-Objekt, ein Bestimmen, ob eine Objektkante mit beliebigen Rahmengliedern fluchtet bzw. ausgerichtet ist und, wenn dies der Fall ist, ein Auswählen eines Rahmenglieds aus dem Satz von Rahmengliedern, mit welchen die Objektkante fluchtet, um das Rahmenglied zu sein, mit welchem die Kante bzw. der Rand des Objekts in der neu definierten Seite ausgerichtet werden soll. Wenn eine Objektkante mit mehr als einem Rahmenglied fluchtet, wird das Rahmenglied, mit welchem die Kante des Objekts in der neudefinierten Seite ausgerichtet werden soll, entsprechend einer vorbestimmten Reihenfolge ausgewählt. Die vorbestimmte Reihenfolge ist eine Ausrichtung an Spalten, Linealführungen, Seitenrändern, Seitenkanten und überstehenden bzw. Auslaufkanten.
  • Eine Ausrichtung an Rahmengliedern ist präzise. Ein Neudefinieren des Seitenlayouts bzw. der Seitengestaltung beinhaltet ein Neupositionieren von Linealführungen.
  • Ein Neupositionieren des Content-Objekts beinhaltet ein Wiedererlangen der Ausrichtungsdaten für das Objekt, ein Ausrichten des Objekts horizontal auf der Seite und ein Ausrichten des Objekts vertikal auf der Seite.
  • Eine horizontale Ausrichtung beinhaltet ein Bestimmen, ob linke und rechte Kanten des Objekts bzw. Gegenstands mit Rahmengliedern fluchten. Wenn beide Kanten mit Rahmen gliedern fluchten, dann wird das Objekt bewegt und in der Größe neu bestimmt, sodaß die linken und rechten Kanten des Objekts sich an die neuen Anordnungen bzw. Stellen der Rahmenglieder anpassen, mit welchen diese in dem neu definierten Seitenlayout fluchten. Wenn nur eine Kante des Objekts zu einem Rahmenglied ausgerichtet ist, dann wird das Objekt horizontal, ohne es in der Größe anzupassen, zu einer neuen Position bewegt, welche mit dem Rahmenglied assoziiert ist, mit welchem es ausgerichtet ist. Wenn keine Kante fluchtet, wird das Objekt horizontal bewegt, ohne es in der Größe anzupassen bzw. neu zu dimensionieren, um sein Zentrum bzw. seine Mitte in derselben relativen Position auf der Seite zu halten.
  • Eine vertikale Ausrichtung beinhaltet ein Bestimmen, ob Ober- und Boden- bzw. Unterkanten des Objekts mit Rahmengliedern fluchten. Wenn beide mit Rahmengliedern fluchten, dann wird das Objekt bewegt und in der Größe angepaßt, sodaß die Ober- und Unterkanten des Objekts sich den neuen Stellen der Rahmenglieder anpassen bzw. mit diesen übereinstimmen, mit welchen sie in dem neudefinierten Seitenlayout fluchten. Wenn nur eine Kante des Objekts mit einem Rahmenglied ausgerichtet ist, dann wird das Objekt vertikal ohne es in der Größe anzupassen, zu einer neuen Position bewegt, welches mit dem Rahmenglied assoziiert ist, mit welchem es ausgerichtet ist. Wenn keine Kante fluchtet, wird das Objekt vertikal bewegt, ohne es in der Größe anzupassen, um sein Zentrum in derselben relativen Position auf der Seite zu halten.
  • Unter den Vorteilen der Erfindung sind die Folgenden. Inhalt kann auf einer Seite zur Anzeige willkürlich plaziert werden, wobei jedoch die Plazierung auf der Seite in einer Inferenz bzw. Beeinflussung der Struktur resultieren wird. Da Änderungen an dem Seiten-Rahmen durch einen Anwender bzw. Benutzer angezeigt werden, gestattet eine abgeleitete Struktur das automatische Umgestalten des Seiteninhalts basierend auf der abgeleiteten Struktur.
  • Andere Vorteile und Merkmale werden aus der folgenden Beschreibung und den Ansprüchen erkennbar bzw. ersichtlich werden.
  • Kurze Beschreibung der Zeichnungen
  • 1 ist ein Flußdiagramm für einen Vorgang bzw. Verlauf eines Anzeigens einer Seite eines Dokuments durch eine Wort-Verarbeitungs-Anwendung nach dem Stand der Technik.
  • 2 ist ein Flußdiagramm eines Ablaufs zum automatischen Einstellen von Inhalt bzw. Content auf einer Seite in einem Dokument-Veröffentlichungs-System in Antwort auf eine durch einen Benutzer ausgewählte Änderung an einem Seitenrahmenglied gemäß einer Ausführungsform der vorliegenden Erfindung.
  • 3 ist ein Flußdiagramm zum Bestimmen von Ausrichtungsdaten gemäß einer Ausführungsform der vorliegenden Erfindung.
  • 4 ist ein Flußdiagramm zum Bestimmen von Neupositionierungs-Daten gemäß einer Ausführungsform der vorliegenden Erfindung.
  • 5 ist eine Tabelle, welche die Neupositionierung eines Content-Objekts basierend auf verschiedenen Kombinationen von Ausrichtungen der Kanten bzw. Ränder des Objekts zu Rahmengliedern gemäß einer Ausführungsform der vorliegenden Erfindung zeigt.
  • 6 ist ein schematisches Blockdiagramm eines programmierbaren Computers, welcher zum Ausführen von Computerprogrammen gemäß der vorliegenden Erfindung geeignet ist.
  • Detaillierte Beschreibung
  • Bezugnehmend auf 2, empfängt in einem Ablauf bzw. Prozeß eines automatischen Einstellens von Inhalt bzw. Content in einem Dokument das Dokumenten-Veröffentlichungs-System eine Benutzeranfrage, um den Seiten-Rahmen bzw. das Seiten-Gerüst zu ändern, welcher(s) mit einer vorgegebenen Seite eines Dokuments (200) assoziiert ist. Die Benutzeranfrage kann von der Form einer Seiteneigenschafts-Änderung (wie beispielsweise eine Änderung der Seitengröße) sein oder kann eine Änderung an einem besonderen Gerüst- bzw. Gefüge- bzw. Rahmenglied spezifizieren, welches neu angeordnet werden soll. Die Benutzeranfrage bzw. -anforderung definiert die für die Rahmenglieder erforderlichen Änderungen, um die Seitenanzeige bzw. -darstellung an das gewünschte Ausgabeformat des Benützers anzupassen. Beispielsweise wird sich, wenn der Benützer wünscht, die Orientierung des Dokuments von "hoch" auf "breit" zu ändern, dann die Position der Seitenränder und Spalten ändern. In einer Ausführungsform können die folgenden Benutzerhandlungen bzw. -vorgänge in Rahmenmodifikationen resultieren: Änderungen der Seitengröße oder Orientierung, Seitenränder bzw. -kanten, Anzahl der Spalten oder des Raums zwischen Spalten; Änderungen an den Attributen bzw. Eigenschaften der augenblicklichen Grund- bzw. Hauptseite (wo Änderungen an der Hauptseite jede andere Seite in dem Dokument beeinflussen, z.B. seine Spalten oder Seiten ränder); oder die Zuweisung einer anderen Hauptseite zu der gegenwärtigen Seite.
  • Das Dokumenten-Veröffentlichungs-System macht (speichert) einen Schnappschuß bzw. eine Momentaufnahme der gegenwärtigen (ursprünglichen) Seitenrahmeninformation, welche mit der vorgegebenen Seite des Dokuments (202) assoziiert ist. Dies erfordert die Wiedererlangung der verschiedenen Seiteneinstellungen (Seiten-Rahmen), welche entweder explizit durch den Benützer eingestellt wurden, oder der Default- bzw. Vorgabeeinstellungen (wie für das Dokument-Veröffentlichungs-System geeignet bzw. entsprechend). In einer Ausführungsform sind die wiedererlangten Seitenrahmen-Einstellungen Seitengröße (z.B. Letter, legal, A4, zur Bestimmung von Seitenkanten), Seitenorientierung (hoch oder breit, auch zum Bestimmen von Seitenkanten bzw. -rändern), Seitenrandbreite für jeden der vier Ränder (oben, unten, rechts, links), allgemeine Spalteninformation (wieviele Spalten, wieviel Raum zwischen den Spalten), spezifische Spalteninformation (Position von jeder linken und rechten Seite der Spalte), und die Position von Linealführungen. Eine Linealführung ist eine vertikale oder horizontale, nicht druckende gerade Linie, welche verwendet wird, um bei der Inhalts-(Objekt-)Ausrichtung zu helfen. In einer Ausführungsform wird die Seiteneinstellungs-Information als positionelle bzw. die Lage betreffende Information gespeichert und beinhaltet die exakte Position von jedem Seitenrahmenglied, welches für eine assoziierte bzw. zugehörige Seite definiert ist.
  • In einer Ausführungsform wird der Seitenrahmen in zwei Gruppen, horizontale und vertikale Glieder, wie folgt aufgeteilt:
    Horizontale Glieder Vertikale Glieder
    obere und untere Seitenkanten linke und rechte Seitenkanten
    obere und untere Seitenränder linke und rechte Seitenränder
    horizontale Linealführungen überstehende Kanten vertikale Linealführungen linke und rechte Spaltenkanten, überstehende Kante
  • Die Datenstruktur zum Repräsentieren und Speichern eines Rahmenglieds beinhaltet ein Positionsfeld zum Speichern einer absoluten Position eines jeden Glieds auf der Seite und eines Typenfelds zum Speichern des Typs bzw. der Art des Rahmenglieds.
  • Nachdem die ursprüngliche Rahmenseiten-Information gespeichert wurde, definiert das System das Seitenlayout entsprechend der Benutzeranfrage neu, welche in Schritt 200 (204) erhalten wurde. Spezifischer stellt das System die Seite ein, um sich an die neue, durch den Benutzer angefragte bzw. geforderte Konfiguration anzupassen, welche eine Änderung der Seitengröße, Seitenrandanordnung oder Spaltengröße oder Position beinhalten kann. Dementsprechend kann jedes Seitenrahmenglied zu einer neuen Position auf der Seite neu zugeordnet werden, oder vollständig von der Seite entfernt werden. Die neue Seitendefinition in der Form von Seitenrahmengliedern wird zur Verwendung beim Manipulieren von Content-Objekten auf der neu definierten Seite (206) gespeichert. Die Datenstruktur zum Speichern der Rahmenglieder in der neu definierten Seite beinhaltet ein Positionsfeld und ein Typenfeld.
  • Nachdem die Seitengrundgerüst- bzw. Seitenrahmen-Information gespeichert wurde, wird der gegenwärtige Content bzw. Inhalt für die Seite wiederhergestellt bzw. wiedererlangt und gespeichert (208). Der Typ und die Koordinaten von jedem Content-Objekt auf der Seite (z.B. Textblock, Kasten bzw. Box, oval, Polygon bzw. Vieleck, Linie, Graphik, Gruppe) werden gesammelt auf eine Weise, welche die Koordinaten von jeder Seite (Kante) (links, oben, rechts, unten) des Begrenzungskastens des Objekts speichert. Die Datenstruktur für ein Content-Objekt beinhaltet Positionsfelder zum Speichern der Koordinaten für jede Kante der Objekt- und Ausrichtungsfelder zum Speichern von Ausrichtungsdaten. Ausrichtungsfelder und Ausrichtungsdaten werden detaillierter unten unter Bezugnahme auf 3 und 4 besprochen bzw. diskutiert werden. In dem Fall eines Textblocks wird einige zusätzliche Information gesammelt, welche sich darauf bezieht, ob der Textblock vor und/oder nach anderen Textblöcken in dem Dokument gefädelt ist.
  • Es ist wichtig zu beachten bzw. festzustellen, daß diese Objekte irgendwo auf der Seite (sogar teilweise aus der Seite hinaus erstreckend) unabhängig von dem Seitenrahmen angeordnet werden können. D.h., Objekte bzw. Gegenstände müssen nicht auf dem Rahmen bzw. Rahmenwerk bzw. Gerüst positioniert werden. Das System gibt vollständige Freiheit für den Benützer beim Positionieren eines jeden Objekts; sie können sogar überlappen. Seitenränder, Spalten und Linealführungen werden lediglich als eine Bequemlichkeit zur Verfügung gestellt, um eine Ausrichtung an den Rahmen nach Wunsch zu erlauben.
  • Nachdem der gegenwärtige Inhalt für die Seite wiedergewonnen bzw. -erhalten wurde, berechnet das System Ausrichtungs- und Neupositionierungs-Daten für jedes Content-Objekt (210). Spezifischer werden Ausrichtungsdaten für jedes Objekt durch ein Bewirken bzw. Durchführen einer Ausrichtung an Rahmengliedern abgeleitet. Danach wird jedes Contekt-Objekt zusammen mit den Ausrichtungsdaten ausgewertet, um (basierend auf seinen Seitenausrichtungen an Rahmengliedern) Neupositionierungs-Daten zu bestimmen, um zu definieren, wie das Objekt bewegt und/oder neu in der Größe angepaßt bzw. neu dimensioniert werden sollte, um auf den modifizierten (neudefinierten) Rahmen zu passen. Der Vorgang bzw. Prozeß eines Berechnens von Ausrichte- und Neupositionierungs-Daten wird detaillierter unter Bezugnahme auf 3 und 4 beschrieben.
  • Nachdem die Seitenneudefinierung abgeschlossen wurde, wird der Seiteninhalt bzw. -content neu auf der neudefinierten Seite basierend auf den Neupositionierungs-Daten neu positioniert, welche im Schritt 210 (212) abgeleitet wurden. Danach wird die neudefinierte Seite angezeigt bzw. dargestellt (214).
  • Ausrichtungs- und Neupositionierungs-Daten werden basierend auf abgeleiteten bzw. gefolgerten Beziehungen zwischen den Content-Objekten und Seitenrahmengliedern in dem ursprünglichen Seitenlayout berechnet. Bezugnehmend auf 3 beinhaltet der Prozeß eines Berechnens von Ausrichtungsdaten ein Wiederherstellen eines Objekts (300). Wie dies oben beschrieben wurde, beinhaltet die Datenstruktur für jedes Objekt positionelle Information, um jede Kante des Objekts im Anzeigeraum (auf der Seite) anzuordnen. Für jede Kante werden Ausrichtungsdaten basierend auf der Ausrichtung der vorgegebenen Kante an Rahmenglieder abgeleitet, indem eine Objektkantenposition zur Ausrichtung mit einem Rahmenglied (302) verglichen wird. Ausrichtungsdaten für jede Kante eines Objekts werden durch ein Vergleichen der relativen Position einer jeweiligen Kante mit jedem Rahmenglied berechnet. Das Ziel ist zu bestimmen, ob jede der vier Kanten des Objekts präzise mit Gliedern des Seitenrahmens ausgerichtet ist. Für jede Kante eines vorgegebenen Objekts werden die Rahmenglieder, zu welchen eine Ausrichtung abgeleitet werden kann, als Ausrichtungsdaten in Ausrichtungsfeldern gespeichert, die mit jedem Objekt (304) assoziiert sind. Spezifischer werden Ausrichtungsdaten in den Ausrichtungsfeldern für jedes Objekt gespeichert und beinhalten den Identifikator des Rahmenglieds, an welchem das Objekt in der ursprünglichen Seite (vor einer Neudefinierung) ausgerichtet ist.
  • In einer Ausführungsform werden Ausrichtungsüberprüfungen in einer hierarchischen Weise durchgeführt, sodaß Ausrichtungsüberprüfungen für jede Kante an der Identifizierung des ersten Rahmenglieds enden, mit welcher die Kante ausgerichtet ist. Die Reihenfolge der Ausrichtungsüberprüfungen (Hierarchie) ist wie folgt: Spalten, Linealführungen, Seitenränder, Seitenkanten, und schließlich außerhalb der Seite befindliche (überstehende) Kanten. Eine Auslaufkante ist jede Objektkante, welche die Kante des Dokuments verläßt bzw. überragt.
  • Alternativ können Ausrichtungsdaten, welche mit allen Rahmenglieder assoziiert sind, welche zu einer gegebenen Objektkante ausgerichtet sind, gespeichert werden. Wenn mehrfache bzw. Mehrfachausrichtungen (Rahmenglieder) gespeichert werden, kann ein komplexeres Schema einer Strukturfolgerung bzw. eines -rückschlusses implementiert werden. Jedoch kann die Genauigkeit dieser "komplexen" Rückschlüsse, welche durch das automatische Neupositionierungs-System vorgenommen werden, abnehmen. Ein komplexeres Schema kann in Rückschlüssen resultieren, welche für eine vorgegebene Anwendung nicht korrekt sind, und somit eine Benutzerinteraktion bzw. -wechselwirkung zur Korrektur erfordern. Dementsprechend ist ein hierarchisches System, welches einen höheren Grad von Sicherheit und weniger komplexe Rückschlüsse gestattet, bevorzugt.
  • In einer Ausführungsform ist bzw. wird eine Ausrichtung an einem Rahmenglied innerhalb einer Vorgabetoleranz oder einem durch einen Benutzer definierten Toleranzpegel bestimmt. Beispielsweise ist es, da die Koordinatenwerte, welche beim Herstellen von Kante-zu-Rahmen-Vergleichen verwendet werden, sehr präzise bzw. genau sein können (einige Systeme unterstützen eine Positionierung bis zu 1/1440 eines Zolls), möglich, daß ein Objekt durch den Benützer an einem Rahmenglied auszurichten beabsichtigt war, wenn es dieses tatsächlich leicht verfehlt hat. Aus diesem Grund kann der Benützer ein "Klicke-zur-Zone"-Merkmal auswählen, um Objekte anzupassen bzw. abzustimmen, welche nahe zu einem Rahmenglied, jedoch nicht perfekt ausgerichtet sind. Die Klicke-zur-Zone-Distanz ist bzw. wird als die Distanz bzw. der Abstand an irgendeiner Seite eines Rahmenglieds definiert, innerhalb welcher(m) eine Objektkante als angepaßt an das (ausgerichtet mit dem) Rahmenglied betrachtet werden wird. In einer Ausführungs form beträgt der Default- bzw. Vorgabewert für die Klicke-zu-Zone-Distanz 0,014 Zoll.
  • Nunmehr bezugnehmend auf 4 beinhaltet der Prozeß zum Berechnen von Neupositionierungs-Daten zur Neuanordnung von Content-Objekten auf der neu definierten Seite ein Wiederherstellen bzw. -erlangen der Ausrichtungsdaten für ein erstes Objekt (400). Eine Überprüfung wird vorgenommen, um zu bestimmen, ob sowohl die linke als auch rechte Kante des Objekts mit Rahmengliedern (402) ausgerichtet ist. Ist dem so, dann wird gefolgert, daß das Objekt auf beiden der Rahmenglieder angepaßt verbleiben sollte, mit welchen es ausgerichtet ist. Dieser Rückschluß wird in der Form von Neupositionierungs-Daten gespeichert. Neupositionierungs-Daten sind positionelle bzw. auf die Lage bezogene Information, welche die Anordnung bzw. Stelle von jeder Kante für das Content-Objekt auf der neu definierten Seite definiert. Neupositionierungs-Daten werden in den Positionsfeldern für jedes Objekt gespeichert. Dementsprechend wird die positionelle Information, welche mit jedem der Rahmenglieder assoziiert ist, mit welchen das Objekt ausgerichtet ist, wiedergewonnen und in den geeigneten Positionsfeldern für das gegebene Objekt (404) gespeichert. Somit werden zum Zeitpunkt zum Neu- bzw. Repositionieren des Objekts die Repositionierungsdaten, welche in den positionellen Feldern gespeichert sind, in der Neuanordnung der Kanten (linke und rechte) des Objekts an den neuen Stellen dieser Glieder in der neu definierten Seite resultieren. Dies kann darin resultieren, daß das Objekt bewegt und/oder horizontal der Größe nach neu angeordnet bzw. neu bemessen bzw. neu dimensioniert wird.
  • Wenn das Objekt nicht sowohl an seiner rechten als auch linken Kante ausgerichtet ist, dann wird eine Überprüfung vorgenommen, um zu bestimmen, ob entweder die linke oder rechte Kante des Objekts mit einem Rahmenglied (406) ausgerichtet ist. Ist dem so, dann wird rückgeschlossen, daß sich das Objekt mit dem einzelnen Glied bewegen sollte, an welchem es ausgerichtet ist, jedoch nicht horizontal in der Größe neu angepaßt wird. Dementsprechend wird die positionelle Information, welche mit dem Rahmenglied assoziiert ist, mit welchem das Objekt ausgerichtet ist, wieder hergestellt und in dem geeigneten Positionsfeld für das vorgegebene Objekt gespeichert (408). Zum Zeitpunkt eines Repositionierens bzw. Neupositionierens wird das Objekt (horizontal) in bezug auf die neue Position des Rahmenglieds bewegt, zu welchem es ausgerichtet ist.
  • Wenn die linke und rechte Kante des Objekts nicht mit irgendeinem Rahmenglied ausgerichtet sind, wird gefolgert, daß das Objekt seine gleiche relative Position auf der Seite (horizontal) beibehalten sollte. Dementsprechend wird positionelle Information für das Objekt auf der ursprünglichen Seite und die linken und rechten Seitenkanten für die Definitionen der ursprünglichen und neuen Seite wiederhergestellt (409). Die Neupositionierungs-Daten (relative Anordnung des Objekts auf der neu definierten Seite) werden bestimmt und in dem geeigneten Positionsfeld für das gegebene Objekt (410) gespeichert. Zum Zeitpunkt eines Neupositionierens wird das Objekt horizontal bewegt (jedoch nicht neu dimensioniert), um sein Zentrum in derselben relativen Position auf der Seite zu halten, welche es vorher hatte, bevor der Benützer die Seite neu definierte.
  • Als nächstes wird eine Überprüfung vorgenommen, um zu bestimmen, ob sowohl die obere als auch untere bzw. Bodenkante des Objekts mit Rahmengliedern (411) ausgerichtet sind. Ist dem so, dann wird gefolgert, daß das Objekt auf beiden der Rahmenglieder angepaßt verbleiben sollte, mit welchen es ausgerichtet ist. Dieser Rückschluß wird erneut in der Form von Neupositionierungs-Daten gespeichert. Dementsprechend wird die positionelle Information, welche mit jedem der Rahmenglieder assoziiert ist, mit welchen das Objekt ausgerichtet ist, wiedergewonnen und in den geeigneten bzw. entsprechenden Positionsfeldern für das gegebene Objekt (412) gespeichert. Somit werden zum Zeitpunkt zum Neupositionieren des Objekts die Neupositionierungsdaten, welche in den positionellen Feldern gespeichert sind, in der Neuanordnung der oberen und unteren Kante des Objekts an den neuen Stellen dieser Glieder in der neu definierten Seite resultieren. Dies kann darin resultieren, daß das Objekt vertikal bewegt und/oder in der Größe neu angepaßt wird.
  • Wenn das Objekt nicht sowohl an seinen oberen und unteren Rändern bzw. Kanten ausgerichtet ist, wird eine Überprüfung vorgenommen, um zu bestimmen, ob entweder die obere oder untere bzw. Bodenkante des Objekts mit einem Gerüst- bzw. Rahmenglied (413) ausgerichtet ist. Ist dem so, dann wird gefolgert, daß das Objekt sich mit dem einzelnen Glied bewegen sollte, mit welchem es ausgerichtet ist, jedoch nicht horizontal in der Größe neu angepaßt wird. Dementsprechend wird die positionelle Information, welche mit dem Rahmenglied assoziiert ist, mit welchem das Objekt ausgerichtet ist, wieder gewonnen bzw. abgerufen und in dem geeigneten Positionsfeld für das gegebene Objekt (414) gespeichert. Zum Zeitpunkt eines Neupositionierens wird das Objekt in Bezug zu der neuen Position des Rahmenglieds (vertikal) bewegt, mit welchem es ausgerichtet ist.
  • Wenn die obere und Bodenkante des Objekts nicht mit irgendeinem Rahmenglied ausgerichtet sind, wird gefolgert, daß das Objekt seine selbe relative Position auf der Seite (vertikal) beibehalten sollte. Dementsprechend wird positionelle Information für das Objekt auf der ursprünglichen Seite und die oberen und unteren Seitenkanten für die ursprünglichen und neuen Seitendefinitionen wiedergewonnen bzw. abgerufen (416). Die Neupositionierungs-Daten (relative Anordnung des Objekts auf der neu definierten Seite) werden bestimmt und in dem geeigneten Positionsfeld für das vorgegebene Objekt (418) gespeichert. Zum Zeitpunkt eines Neupositionierens wird das Objekt vertikal bewegt (jedoch nicht in der Größe angepaßt), um so sein Zentrum in derselben relativen Position auf der Seite zu halten, die es zuvor hatte, bevor der Benützer die Seite neu definierte.
  • Eine Überprüfung wird vorgenommen, um zu bestimmen, ob es für mehr Objekte nötig ist, auf der Seite (420) neu positioniert zu werden. Ist dem so, dann werden die Ausrichtungsdaten für das nächste Objekt geladen (422) und der Vorgang setzt bei Schritt (402) fort. Andernfalls endet der Vorgang und die Neupositionierungsdaten für jedes Objekt werden verfügbar gemacht, um die Neupositionierung des Content-Objekts auf der neu definierten Seite zu gestatten.
  • Die obigen Regeln behandeln horizontale Kanten bzw. Ränder unabhängig von vertikalen. D.h., ein Objekt muß keine Ausrichtungen an den linken oder rechten Kanten aufweisen, und wird daher nach rechts oder links bewegt, um die relative Seitenposition seines Zentrums aufrecht zu erhalten. Zur selben Zeit jedoch kann die Oberseite oder die Unterseite oder der Boden (oder beide) mit dem Rahmen bzw. Gerüst ausgerichtet worden sein. In diesem Fall wird das Objekt auch vertikal entsprechend der oben dargestellten Regeln eingestellt. Dies bedeutet, daß abhängig von den Typen der Ausrichtungen an den vier Kanten eines Objekts die an ihm vorgenommene Handlung sein könnte, sich in einer Dimension zu bewegen, sich jedoch in der anderen zu bewegen und der Größe nach anzupassen. Eine Tabelle 500, welche die verschiedenen möglichen Kombinationen von Ausrichtungen und der resultierenden Neupositionierung eines Objekts zeigt, ist in 5 gezeigt.
  • Während der Vorgang am leichtesten im Hinblick auf eine Sequenz bzw. Abfolge von Überprüfungen beschrieben und verstanden wird, können andere Mittel zum Bestimmen und Neupositionieren eingesetzt werden. Spezifisch könnte eine Durchsuchung einer Tabelle von Ausrichtungen durchgeführt werden, um die Neupositionierung eines gegebenen Objekts basierend auf der individuellen Kombination von Ausrichtungen für jede Kante zu bestimmen. Alternativ kann eine Baumsuche durchgeführt werden. Alternativ kann der Vorgang implementiert werden als Regeln, welche durch eine auf einer Regel basierenden Rückschlußmaschine interpretiert oder ausgeführt werden. In einer Ausführungsform wurde eine Eklipsen-Maschine, erzeugt durch The Haley Enterprise, Inc., von Sewickley, Pennsylvania verwendet.
  • In einer alternativen Ausführungsform werden Objekte, welche Gruppen sind, oder Graphik sind oder beinhalten,. neu positioniert, um nicht ihre gesamte optische Erscheinung zu schädigen bzw. zu beeinträchtigen. Dementsprechend wird jede größenmäßige Anpassung, welche in Übereinstimmung mit 3 vorgenommen wird, proportional durchgeführt. D.h., der Faktor einer größenmäßigen Anpassung wird sowohl in horizontaler als auch vertikaler Dimensionen beibehalten. In dieser besonderen Ausführungsform wirkt eine proportionale größenmäßige Anpassung, um Vorrang vor der oben dargelegten normalen Neupositionierung zu haben. D.h., wenn ein Objekt bzw. Gegenstand aufgrund horizontaler Ausrichtungen neu dimensioniert wird, dann wird derselbe Faktor zur Neuanpassung der Größe bzw. Neudimensionierung vertikal angewendet, selbst wenn keine vertikalen Ausrichtungen vorhanden waren. Dies kann einen Verlust von Ausrichtungen verursachen, wenn alle vier Kanten ursprünglich ausgerichtet waren und der Betrag der größenmäßigen Anpassung nicht derselbe in jeder Dimension ist. Wenn dies geschieht, wird das System versuchen, die linke und rechte Kante an ihre ordnungsgemäßen Rahmengliedern zuerst anzupassen, dann die obere und dann den Boden, wenn möglich. Wenn ein Durchführen einer größenmäßigen Anpassung bzw. Neudimensionierung in dieser Reihenfolge das Objekt zu groß für die Seite machen würde, dann wird das System die Reihenfolge umkehren und entsprechend den Ausrichtungskriterien der oberen und unteren Kante zuerst die Größe neu anpassen.
  • In einer anderen Ausführungsform beinhaltet die Neudefinition der Seite, wie dies in Verbindung mit Schritt 204 von 2 beschrieben wurde, ein Ändern oder Bewegen zusätzlicher Rahmenglieder, für welche nicht notwendiger weise erforderlich wäre, basierend auf den Änderungsdaten geändert zu werden. Die größenmäßige Anpassung bzw. Neudimensionierung einer Seite kann die Bewegung von Linealführungen erfordern, einem zusätzlichen Rahmenglied, um das Seitenlayout bzw. die Seitengestaltung auf eine Weise neu zu definieren, welche mit den Benützererfordernissen vereinbar ist. Beispielsweise könnte gefolgert werden, daß eine Linealführung, welche durch einen Benützer an einer Seitenrandstelle angeordnet wurde, ebenfalls bewegt werden sollte, wenn der Seitenrand selbst neu positioniert wird. Dementsprechend werden in einer Ausführungsform Änderungen an Rahmengliedern in dem automatischen Neupositionieren von Linealführungen entsprechend zwei spezifischen Regeln resultieren. Erstens wird jede Linealführung, welche auf einer Spaltenkante oder einem Seitenrand überlagert ist bzw. wird, gemeinsam mit dieser Spaltenkante oder dem Seitenrand bewegt werden. Das System folgert, daß, wenn der Benützer in die Schwierigkeit kam, die Linealführung an einer derartigen Stelle auszurichten, es dann wünschenswert ist, die Führung an der neuen Stelle des Rahmenglieds neu zu positionieren. Zweitens werden beliebige andere Linealführungen (solche, die nicht an einer Spaltenkante oder einem Seitenrand positioniert sind) auf der Seite neu positioniert, um ihre relative Position auf der Seite zu behalten. D.h., eine vertikale Führung auf halbem Weg über die Seite wird auf halbem Weg über die Seite enden, nachdem beispielsweise von "hoch" auf "breit" für das Seitenlayout umgeschaltet wurde.
  • In einer Ausführungsform ist das Neupositionieren der Linealführungen durch einen Benutzerregel- bzw. steuerbar. D.h., der Benützer kann die oben beschriebenen Vorgaberegeln bestimmen, um das Neupositionieren von Lineal führungen in Übereinstimmung mit Änderungsdaten zu regeln bzw. steuern, oder kann alternativ die automatische Neupositionierung der Linealführungen abschalten. Wenn der Benützer gewählt hat, die automatische Neupositionierung der Linealführungen abzuschalten, und dies in einer Führung resultiert, welche außerhalb der Seite endet (wie ein Fall einer horizontalen Führung in dem oberen Seitenrandbereich, wenn von "hoch" auf "breit" geschaltet wird), dann wird diese Linealführung entfernt und jede zuvor damit assoziierte. Objektkante wird zu irgendwelchen verbleibenden Rahmengliedern angepaßt, welche dieselbe Ausgangsposition auf der Seite einnehmen.
  • In einer anderen Ausführungsform beinhaltet die Bestimmung der Ausrichtung zwei zusätzliche Überlegungen. Wenn ein Objekt eine linke oder rechte Kante mit dem rechten Seitenrand ausgerichtet aufweist und dieser rechte Seitenrand ist auch die rechte Seite der letzten Spalte auf der Seite, würde gewöhnlicherweise dieses Objekt als mit der Spaltenkante ausgerichtet erachtet, anstatt dem Seitenrand. Jedoch ist in dieser alternativen Ausführungsform die rechte Kante des Objekts nur mit der rechten Seite der Spalte assoziiert, wenn die linke Kante bzw. der linke Rand des Objekts auch mit dieser linken Seite der Spalte assoziiert ist. D.h., das Objekt wird nur zu der Spalte gehörend gedacht, wenn beide Kanten bzw. Ränder zu den Spaltenkanten bzw. -rändern passen. Andererseits ist die rechte Kante mit dem rechten Seitenrand assoziiert. Dies erlaubt es Objekten, welche an beiden Seiten mit der Spalte ausgerichtet sind, mit der Spalte assoziiert zu bleiben, jedoch anderen Objekten, sich an dem Seitenrand auszurichten. Dies ist in dem Fall eines Objekts nützlich, welches die linken und rechten Seitenränder der Seite überspannt. Zusätzlich würde, wenn die linke Kante eines Objekts mit dem rechten Seitenrand ausgerichtet ist und dieser rechte Seitenrand auch die rechte Seite der letzten Spalte auf der Seite ist, gewöhnlicherweise dieses Objekt als mit der Spaltenkante ausgerichtet erachtet, anstatt dem Seitenrand. Jedoch ist in einer alternativen Ausführungsform diese linke Kante des Objekts mit dem Seitenrand ausgerichtet, nicht der Spalte. Dies hindert Objekte, welche in dem rechten Seitenrandbereich mit einer linken Kante an dem rechten Seitenrand ausgerichtet sind daran, innerhalb des Spaltenabschnitts der Seite zu enden, wenn neue Spalten zu der Seite hinzugefügt werden. Ohne diese spezielle Regel würde das Objekt mit der Spalte assoziiert bleiben, was sie effektiv veranlassen würde, sich nach links zu bewegen, wenn die Seite verändert wird, um Spalten hinzuzufügen.
  • In einer anderen Ausführungsform werden Textblöcke (ein besonderer Typ eines Content-Objekts für textliche Information) besonders behandelt, wenn Spalten zu einer Seite hinzugefügt oder von dieser entfernt werden. Wenn die ursprüngliche Seite Spalten beinhaltet, welche Textblöcke beinhalten, und der letzte Textblock endet an dem Boden der am weitesten rechts befindlichen Spalte auf der Seite, dann wird bei bzw. nach der Hinzufügung oder Wegnahme von Spalten von dem Seitenlayout der mit jedem Textblock assoziierte Text umformatiert, um in die neue Spaltenkonfiguration einzufließen. Betrachte eine Seite, welche ursprünglich drei Spalten beinhaltet, wovon jede Textblöcke beinhaltet, wobei der Benützer die Anzahl von Spalten auf vier ändert. Entsprechend der Regeln von 3 würde ein jeder der drei Textblöcke zu den neuen Koordinaten von Spalten eins bei drei bewegt und auf diese neu dimen sioniert werden, um in Text in jeder Spalte zu resultieren, wobei der Text umformatiert wäre, um in den verfügbaren Raum zu passen, wobei jeder Überlauftext außerhalb der Seite gespeichert wäre. Die neue vierte Spalte wäre leer, was vermutlich nicht das ist, was der Benützer gewünscht haben würde. Deshalb wird in dieser Ausführungsform ein neuer Textblock für Spalte vier für den Textinhalt erzeugt, welcher von den ersten drei Spalten "ausgeflossen" wurde, wenn diese auf der Seite schmäler wurden.
  • Entfernt man Spalten von einer Seite, müssen andere Betrachtungen einbezogen werden. Spezifisch die Beziehung des Contents bzw. Inhalts (Text) in jedem Textblock, von welchem vorgeschlagen wird, entfernt zu werden, muß relativ zu dem verbleibenden Text auf einer Seite überprüft werden. In unserem obigen Beispiel, wenn eine dreispaltige Seite in zwei Spalten transformiert werden soll (durch die Entfernung von Spalte drei), kann oder kann nicht der Textblock, welcher mit der dritten Spalte assoziiert ist, während des Neupositionierungsschritts entfernt werden. Wo der Text in dem Textblock, welcher mit der zu entfernenden Spalte (d.h. Spalte drei) assoziiert ist, mit anderem Text gefädelt ist, welcher auf der Seite verbleibt, dann wird das System einen Textblock entfernen, dessen Spalte ebenfalls entfernt wurde. Ein Fädeln ist der Vorgang eines Verbindens von assoziierten Textblöcken. Für Textblöcke, welche Text aufweisen, der nicht gefädelt ist, resultiert das Entfernen der Spalte nicht im Entfernen des Textblocks und der Benützer muß den Textblock manuell neu positionieren.
  • In einer anderen Ausführungsform wird das Neupositionieren von überstehenden Gliedern besonders handgehabt. Überstehende Glieder sind Objekte, welche eine oder mehrere Kanten (überstehende Kanten) außerhalb der Seite aufweisen. In einer Ausführungsform werden überstehende Kanten für überstehende Glieder immer in einem festgelegten Abstand von ihrer benachbarter Seitenkante gehalten, unabhängig von den anderen Ausrichtungsregeln, welche oben beschrieben wurden. D.h., wenn sich eine überstehende Kante 1 Zoll von der rechten Seite der Seite befindet und die Seitenbreite ändert sich, dann wird diese überstehende Kante (und das begleitende überstehende Glied) neu positioniert, um sich 1 Zoll entfernt von der neuen rechten Seite der Seite zu befinden.
  • Die Erfindung kann in Hardware, Firmware oder Software oder einer Kombination aus den dreien implementiert werden. Vorzugsweise wird die Erfindung in einem Computerprogramm implementiert, welches auf einem programmierbaren Computer ausgeführt wird, der einen Prozessor, ein Datenspeichersystem, flüchtige und nicht flüchtige Speicher und/oder Speicher- bzw. Aufbewahrungselemente, wenigstens eine Eingabevorrichtung und wenigstens eine Ausgabevorrichtung aufweist.
  • Als Beispiel zeigt 6 ein Blockdiagramm eines programmierbaren Informationsverarbeitungs-Systems (Computer) 10. Der Computer 10 beinhaltet vorzugsweise einen Prozessor 20, einen Direktzugriffsspeicher bzw. Schreib-Lese-Speicher (RAM) 21, einen Programmspeicher 22 (vorzugsweise einen beschreibbaren Nur-Lese- bzw. Festspeicher (ROM), wie beispielsweise ein Flash ROM), einen Festplatten-Controller bzw. eine Festplatten-Regel- bzw. -Steuereinrichtung 23 und einen Eingabe/Ausgabe-(I/O)-Controller 24, welche durch einen CPU-Bus 25 gekoppelt sind.
  • Der Festplatten-Controller 23 ist mit einer Festplatte 30 gekoppelt, welche zum Speichern von Anwendungsprogrammen, wie beispielsweise PageMaker, und Daten verwendet werden kann. Der I/O-Controller 24 ist mittels eines I/O-Bus 26 mit einer I/O-Schnittstelle 27 gekoppelt. Die I/O-Schnittstelle 27 bzw. das I/O-Interface empfängt und überträgt Daten in analoger oder digitaler Form über Kommunikations-Verbindungen, wie beispielsweise eine serielle Verbindung, ein lokales Netzwerk, eine drahtlose Verbindung und eine parallele Verbindung. Ebenfalls an den I/O-Bus 26 gekoppelt ist eine Anzeige 28, eine Tastatur 29 und eine Zeigevorrichtung (Maus) 31. Alternativ können separate bzw. getrennte Verbindungen (separate Busse) für die I/O-Schnittstelle 27, Anzeige 28, Tastatur 29 und Zeigevorrichtung 30 verwendet werden. Das programmierbare Verarbeitungssystem 10 kann vorprogrammiert sein oder es kann programmiert (und neu programmiert) werden durch ein Downloaden eines Programms von einer anderen Quelle (z.B. einer Floppy disk bzw. Diskette, CD-ROM oder einem anderen Computer).
  • Jedes Computerprogramm ist greifbar in einem maschinenlesbaren Speichermedium oder einer Vorrichtung (z.B. Programmspeicher 22 oder Magnetplatte) gespeichert, welche durch einen allgemeinen oder programmierbaren Computer für spezielle Verwendung lesbar ist, zum Konfigurieren und Regeln bzw. Steuern des Betriebs eines Computers, wenn das Speichermedium oder die Vorrichtung durch den Computer gelesen wird, um die hierin beschriebenen Abläufe durch zuführen. Das erfindungsgemäße System kann auch betrachtet werden, um in einem computerlesbaren Speichermedium ausgeführt zu sein, konfiguriert mit einem Computerprogramm, wo das so konfigurierte Speichermedium einen Computer veranlaßt, auf eine bestimmte und vorbestimmte Weise zu arbeiten, um die hierin beschriebenen Funktionen durchzuführen.
  • Die vorliegende Erfindung wurde im Hinblick auf bestimmte Ausführungsformen beschrieben, welche für die Erfindung illustrativ sind und nicht als begrenzend ausgelegt werden sollen. Andere Ausführungsformen befinden sich innerhalb des Gültigkeitsbereichs der folgenden Ansprüche.

Claims (19)

  1. Verfahren zum Positionieren eines Inhaltsgegenstands bzw. -objekts bzw. Content-Objekts auf einer Seite eines elektronischen Dokuments, wobei die Seite einen ursprünglichen Seiten-Rahmen bzw. ein ursprüngliches Seitengerüst bzw. Seitengrundgefüge bzw. Seitengrundgerüst bzw. ein Gerüst bzw. einen Rahmen der ursprünglichen Seite aufweist, wobei das Verfahren umfaßt: Empfangen einer Benutzeranfrage zum Ändern des ursprünglichen Seiten-Rahmens bzw. -Gerüsts einer Seite, wobei die Seite einen Inhaltsgegenstand aufweist, der eine Position auf der Seite aufweist, wobei der ursprüngliche Seiten-Rahmen ein oder mehrere Gerüst- bzw. Gefüge- bzw. Rahmenglieder auf der Seite definiert aufweist; in Antwort auf die Benutzeranfrage Ableiten einer Ausrichtung des Inhaltsgegenstands zu wenigstens einem der Rahmenglieder in dem ursprünglichen Seiten-Rahmen basierend auf der Position des Inhaltsgegenstands relativ zu den Positionen der Rahmenglieder in dem ursprünglichen Seiten-Rahmen ohne Rücksicht auf irgendeine vorher definierte oder abgeleitete Ausrichtung des Inhaltsgegenstands zu irgendwelchen Rahmengliedern in dem ursprünglichen Seiten-Rahmen; und Neudefinieren der Seiten-Rahmenglieder in dem ursprünglichen Seiten-Rahmen gemäß der Benutzeranfrage, um den ursprünglichen Seiten-Rahmen zu verändern; und Neupositionieren des Inhaltsgegenstands auf der Seite unter Bezug auf den geänderten Seiten-Rahmen gemäß der abgeleiteten Ausrichtung.
  2. Verfahren nach Anspruch 1, wobei die Benutzeranfrage die Position eines Rahmenglieds in dem ursprünglichen Seiten-Rahmen verändert, und wo das Rahmenglied in dem ursprünglichen Seiten-Rahmen, der durch den Benutzer geändert wird, aus einer Gruppe bestehend aus Seitenrand, Seitenkante bzw. -rand, Spaltenkante bzw. -rand und Lineal-Führung gewählt wird.
  3. Verfahren nach Anspruch 1, wo ein Ableiten einer Ausrichtung des Inhaltsgegenstands zu wenigstens einem der Rahmenglieder in dem ursprünglichen Seiten-Rahmen beinhaltet: Abrufen bzw. Wiedergewinnen bzw. Erhalten von Positionsinformation, die mit dem Inhaltsgegenstand assoziiert ist; und Ableiten, ob irgendeine Kante des Inhaltsgegenstands mit einem Rahmenglied in dem ursprünglichen Seiten-Rahmen ausgerichtet ist, basierend auf der Position der Kante bzw. dem Rand des Inhaltsgegenstands relativ zu der Position des Rahmenglieds in dem ursprünglichen Seiten-Rahmen, und falls ja, Auswählen eines Rahmenglieds in dem ursprünglichen Seiten-Rahmen aus dem Satz von Rahmengliedern in dem ursprünglichen Seiten-Rahmen, mit welchem die Kante des Inhaltsgegenstands ausgerichtet ist, um das neudefinierte Rahmenglied zu sein, mit welchem die Kante des Inhaltsgegenstands in dem geänderten Seiten-Rahmen auszurichten ist.
  4. Verfahren nach Anspruch 3, wo, wenn die Kante des Inhaltsgegenstands mit mehr als einem Rahmenglied in dem ursprünglichen Seiten-Rahmen ausgerichtet ist bzw. fluchtet, das neu definierte Rahmenglied, mit welchem die Kante des Inhaltsgegenstands in dem geänderten Seiten-Rahmen auszurichten ist, gemäß einer vorbestimmten Reihenfolge ausgewählt wird.
  5. Verfahren nach Anspruch 4, wobei die vorbestimmte Reihenfolge eine Ausrichtung mit Spalten, Lineal-Führungen, Rändern, Seitenkanten und Auslaufkanten bzw. überstehenden Kanten ist.
  6. Verfahren nach Anspruch 3, wobei die Kante des Inhaltsgegenstands abgeleitet ist, um das Rahmenglied in dem ursprünglichen Seiten-Rahmen nur auszurichten, wenn die Position der Kante des Inhaltsgegenstands dieselbe wie die Position des Rahmenglieds in dem ursprünglichen Seiten-Rahmen ist.
  7. Verfahren nach Anspruch 1, wobei ein Neudefinieren der Rahmenglieder in dem ursprünglichen Seiten-Rahmen ein Neupositionieren von Linealführungen durch ein Evaluieren von jeder Lineal-Führung beinhaltet, um zu bestimmen, ob die Lineal-Führung mit einem Rand oder einer Spaltenkante überlagert ist, welche gemäß der Benutzeranforderung neu zu positionieren ist, und, wenn die Lineal-Führung auf einem derartigen Rand oder einer derartigen Spaltenkante überlagert ist, dann Neupositionieren der Lineal-Führung, um seine Position relativ zu dem veränderten Rand oder der veränderten Spaltenkante beizubehalten.
  8. Verfahren nach Anspruch 7, weiters beinhaltend ein Neupositionieren einer Lineal-Führung, welche nicht auf einem Rand oder einer Spaltenkante überlagert ist, um seine Position in dem veränderten Seiten-Rahmen relativ zu seiner Position beizubehalten, die in dem Seiten-Rahmen in dem ursprünglichen Seiten-Rahmen eingenommen war.
  9. Verfahren nach Anspruch 1, wobei der Schritt eines Neupositionierens des Inhaltsgegenstands beinhaltet: horizontales Ausrichten des Inhaltsgegenstands auf der Seite gemäß der abgeleiteten Ausrichtung; und vertikales Ausrichten des Inhaltsgegenstands auf der Seite gemäß der abgeleiteten Ausrichtung.
  10. Verfahren nach Anspruch 9, wobei der horizontale Ausrichtungsschritt weiters umfaßt: Ableiten, ob linke oder rechte Kanten des Inhaltsgegenstands zu Rahmengliedern in dem ursprünglichen Seiten-Rahmen ausrichten; wenn beide Kanten zu Rahmengliedern in dem ursprünglichen Seiten-Rahmen ausrichten, dann Bewegen und Neudimensionieren des Inhaltsgegenstands, so daß die Positionen der linken und rechten Kanten des Inhaltsgegenstands dieselben sind wie die neuen Orte der neu definierten Rahmenglieder, mit welchen beide Kanten in der veränderten Seite ausgerichtet sind, wenn nur eine Kante des Inhaltsgegenstands mit einem Rahmenglied in dem ursprünglichen Seiten-Rahmen ausgerichtet ist, dann horizontales Bewegen des In haltsgegenstands, so daß die Position der Kante des Inhaltsgegenstands dieselbe wie die Position des neu definierten Rahmenglieds ist, mit welchem es in dem ursprünglichen Seiten-Rahmen ohne Neudimensionieren des Inhaltsgegenstands ausgerichtet ist, und wenn keine Kante des Inhaltsgegenstands mit einem Rahmenglied in dem ursprünglichen Seiten-Rahmen ausgerichtet ist, dann horizontales Bewegen des Inhaltsgegenstands, um ein Zentrum des Inhaltsgegenstands in derselben Relativposition auf der Seite ohne Neudimensionieren des Inhaltsgegenstands zu halten.
  11. Verfahren nach Anspruch 9, wobei der vertikale Ausrichtungsschritt weiters umfaßt: Ableiten, ob obere und Bodenkanten des Inhaltsgegenstands mit den Rahmengliedern in dem ursprünglichen Seiten-Rahmen ausgerichtet sind, wenn beide Kanten mit Rahmengliedern in dem ursprünglichen Seiten-Rahmen ausgerichtet sind, dann Bewegen und Neudimensionieren des Inhaltsgegenstands, so daß die Positionen der oberen und Bodenkanten des Inhaltsgegenstands dieselben wie die neuen Orte der neu definierten Rahmenglieder sind, mit welchen beide Kanten in dem geänderten Seiten-Rahmen ausgerichtet werden, wenn nur eine Kante des Inhaltsgegenstands mit einem Rahmenglied in dem ursprünglichen Seiten-Rahmen ausgerichtet ist, dann vertikales Bewegen des Inhaltsgegenstands, so daß die Position der Kante des Inhaltsgegenstands dieselbe wie die Position des neu definierten Rahmenglieds ist, mit welchem es in dem ursprünglichen Seitennetzwerk ohne Neudimensionieren des Inhaltsgegenstands ausgerichtet ist, und wenn keine Kante des Inhaltsgegenstands mit einem Rahmenglied in dem ursprünglichen Seiten-Rahmen ausgerichtet ist, dann vertikales Bewegen des Inhaltsgegenstands, um ein Zentrum des Inhaltsgegenstands in derselben Relativposition auf der Seite ohne Neudimensionieren des Inhaltsgegenstands zu halten.
  12. Verfahren nach Anspruch 1, wobei der Schritt eines Neupositionierens des Inhaltsgegenstands beinhaltet: Ausrichten des Inhaltsgegenstands auf der Seite gemäß der abgeleiteten Ausrich tung.
  13. Verfahren nach Anspruch 12, wobei der Ausrichtungsschritt umfaßt: Ableiten, ob linke oder rechte Kanten des Inhaltsgegenstands mit Rahmengliedern in dem ursprünglichen Seiten-Rahmen ausgerichtet sind, wenn beide Kanten mit Rahmengliedern in dem ursprünglichen Seiten-Rahmen ausgerichtet sind, dann Bewegen und Neudimensionieren des Inhaltsgegenstands, so daß die Positionen der linken und rechten Kanten des Inhaltsgegenstands dieselben wie die neuen Orte der neu definierten Rahmenglieder sind, mit welchen beide Kanten in dem geänderten Seiten-Rahmen ausgerichtet sind, wenn nur eine Kante des Inhaltsgegenstands mit einem Rahmenglied in dem ursprünglichen Seiten-Rahmen ausgerichtet ist, dann horizontales Bewegen des Inhaltsgegenstands, so daß die Position der Kante des Inhaltsgegenstands dieselbe ist wie die Position des neu definierten Rahmenglieds, mit welchem es ohne Neudimensionieren des Inhaltsgegenstands ausgerichtet ist, und wenn keine Kante des Inhaltsgegenstands mit einem Rahmenglied in dem ursprünglichen Seiten-Rahmen ausgerichtet ist, dann horizontales Bewegen des Inhaltsgegenstands, um ein Zentrum des Inhaltsgegenstands in derselben Relativposition auf der Seite ohne Neudimensionieren des Inhaltsgegenstands zu halten; und Ableiten, ob obere und Bodenkanten des Inhaltsgegenstands mit Rahmengliedern in dem ursprünglichen Seiten-Rahmen ausgerichtet sind, wenn beide Kanten mit Rahmengliedern in dem ursprünglichen Seiten-Rahmen ausgerichtet sind, dann Bewegen und Neudimensionieren des Inhaltsgegenstands, so daß die Position der oberen und Bodenkanten des Inhaltsgegenstands dieselben wie die neuen Orte der neu definierten Rahmenglieder sind, mit welchen beide Kanten in der veränderten Seite ausgerichtet sind; wenn nur eine Kante des Inhaltsgegenstands mit einem Rahmenglied in dem ursprünglichen Seiten-Rahmen ausgerichtet ist, dann vertikales Bewegen des Inhaltsgegenstands, so daß die Position der Kante des Inhaltsgegenstands dieselbe wie die Position des neu definierten Rahmenglieds ist, mit welchem es ohne Neudimensionieren des Inhaltsgegenstands ausgerichtet ist, und wenn keine Kante des Inhaltsgegenstands mit einem Rahmenglied in dem ursprüng lichen Seiten-Rahmen ausgerichtet ist, dann vertikales Bewegen des Inhaltsgegenstands, um ein Zentrum des Inhaltsgegenstands in derselben Relativposition auf der Seite ohne Neudimensionieren des Inhaltsgegenstands zu halten.
  14. Verfahren nach Anspruch 13, wobei ein Inhaltsgegenstand, der eine Gruppe oder Graphik enthält, mit einem proportionalen Neudimensionieren, das Vorrang hat vor dem normalerweise in Übereinstimmung mit dem Ausrichtungsschritt ausgeführten Neupositionieren, neu positioniert wird.
  15. Verfahren nach Anspruch 1, wobei das Neupositionieren durch eine Nachschautätigkeit durchgeführt wird, wo die abgeleitete Ausrichtung in einer Ausrichtungstabelle indexiert ist, um ein individuelles Muster von Kantenausrichtungen mit einer resultierenden Bewegung und eine Neudimensionierungstätigkeit aufzuzeichnen, die an dem Inhaltsgegenstand auszuführen ist bzw. sind.
  16. Verfahren nach Anspruch 1, wobei ein Inhaltsgegenstand, der eine Gruppe oder Graphik enthält, mit einem proportionalen Neudimensionieren, das Vorrang hat vor dem normalerweise in Übereinstimmung mit dem Ausrichtungsschritt ausgeführten Neupositionieren, neu positioniert wird.
  17. Verfahren nach Anspruch 1, wobei ein Inhaltsgegenstand, der eine Auslaufkante beinhaltet, neu positioniert wird, um seinen relativen festgelegten Abstand von einer benachbarten Kante auf dem Dokument beizubehalten.
  18. Computerprogrammprodukt, das körperlich auf einem computerlesbaren Medium gespeichert ist, um einen Inhaltsgegenstand bzw. -objekt bzw. Content-Objekt auf einer Seite eines elektronischen Dokuments zu positionieren, wobei die Seite einen ursprünglichen Seiten-Rahmen bzw. ein ursprüngliches Seitengerüst bzw. Seitengrundgefüge bzw. Seitengrundgerüst bzw. ein Gerüst aufweist, der ein oder mehrere Gerüst- bzw. Gefüge- bzw. Rahmenglieder auf der Seite definiert aufweist, umfassend Instruktionen, die für ein Veranlassen eines Computers betätigbar sind, um: in Antwort auf eine Benutzeranfrage, den ursprünglichen Seiten-Rahmen zu verän dern, eine Ausrichtung eines Inhaltsgegenstands zu wenigstens einem der Rahmenglieder in dem ursprünglichen Seiten-Rahmen, basierend auf der Position des Inhaltsgegenstands relativ zu den Positionen der Rahmenglieder in dem ursprünglichen Seiten-Rahmen, ohne Rücksicht auf irgendeine vorab definierte oder abgeleitete Ausrichtung des Inhaltsgegenstands zu irgendwelchen Rahmengliedern in dem ursprünglichen Seiten-Rahmen abzuleiten; Rahmenglieder des ursprünglichen Seiten-Rahmens gemäß der Benutzeranfrage neu zu definieren; und den Inhaltsgegenstand auf der Seite unter Bezug auf den veränderten Seiten-Rahmen gemäß der abgeleiteten Ausrichtung neu zu positionieren.
  19. Computerprogrammprodukt nach Anspruch 18, wobei Instruktionen zum Veranlassen des Computers zum Neupositionieren des Inhaltsgegenstands Instruktionen zum Veranlassen eines Computers umfassen, zum: Abrufen bzw. Wiedergewinnen der Ausrichtungsdaten für den Gegenstand; und horizontales Ausrichten des Gegenstands auf der Seite durch ein Bestimmen, ob die linken und rechten Kanten des Gegenstands mit Rahmengliedern in dem ursprünglichen Seiten-Rahmen ausgerichtet sind, wenn beide Kanten zu Rahmengliedern in dem ursprünglichen Seiten-Rahmen ausrichten, dann Bewegen und Neudimensionieren des Gegenstands, so daß die Positionen der linken und rechten Kanten mit den neuen Orten der neudefinierten Rahmenglieder übereinstimmen, zu welchen sie in dem geänderten Seiten-Rahmen ausgerichtet sind, wenn nur eine Kante des Gegenstands mit einem Rahmenglied in dem ursprünglichen Seiten-Rahmen ausgerichtet ist, dann horizontales Bewegen des Gegenstands ohne Neudimensionieren zu einer neuen Position, die mit dem neudimensionierten Rahmenglied assoziiert ist, mit welchem es ausgerichtet ist, wenn keine Kante des Gegenstands mit einem Rahmenglied in dem ursprünglichen Seiten-Rahmen ausgerichtet ist, dann horizontales Bewegen des Inhaltsgegenstands ohne Neudimensionieren, um sein Zentrum in derselben Relativposition auf der Seite zu halten ist; und Bestimmen, ob obere und Bodenkanten des Gegenstands zu Rahmengliedern in dem ursprünglichen Seiten-Rahmen ausgerichtet sind, wenn beide Kanten mit Rahmengliedern in dem ursprünglichen Seiten-Rahmen ausgerichtet sind, dann Bewegen und Neudimensionieren des Gegenstands so, daß die oberen und Bodenkanten des Gegenstands mit den neuen Orten der neudefinierten Rahmenglieder übereinstimmen, mit welchen sie in dem veränderten Seiten-Rahmen ausgerichtet sind; wenn nur eine Kante des Gegenstands mit einem Rahmenglied in dem ursprünglichen Seiten-Rahmen ausgerichtet ist, dann vertikales Bewegen des Gegenstands ohne Neudimensionieren zu einer neuen Position, die mit dem neudefinierten Rahmenglied assoziiert ist, mit welchem es ausgerichtet ist, und wenn keine Kante des Gegenstands mit einem Rahmenglied in dem ursprünglichen Seiten-Rahmen ausgerichtet ist, dann vertikales Bewegen des Gegenstands ohne Neudimensionieren, um sein Zentrum in derselben Relativposition auf der Seite zu halten.
DE69732684T 1996-12-13 1997-12-09 Automatische Modifizierung von Dokumentgestaltungen Expired - Lifetime DE69732684T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US768020 1996-12-13
US08/768,020 US6144974A (en) 1996-12-13 1996-12-13 Automated layout of content in a page framework

Publications (2)

Publication Number Publication Date
DE69732684D1 DE69732684D1 (de) 2005-04-14
DE69732684T2 true DE69732684T2 (de) 2006-04-06

Family

ID=25081288

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69732684T Expired - Lifetime DE69732684T2 (de) 1996-12-13 1997-12-09 Automatische Modifizierung von Dokumentgestaltungen

Country Status (5)

Country Link
US (1) US6144974A (de)
EP (1) EP0848351B1 (de)
JP (1) JPH10289230A (de)
CA (1) CA2224510A1 (de)
DE (1) DE69732684T2 (de)

Families Citing this family (110)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6596032B2 (en) * 1996-10-15 2003-07-22 Fujitsu Limited Document processing apparatus storing and modifying data using effect data
US6473102B1 (en) * 1998-05-11 2002-10-29 Apple Computer, Inc. Method and system for automatically resizing and repositioning windows in response to changes in display
US7162689B2 (en) * 1998-05-28 2007-01-09 Oracle International Corporation Schema evolution in replication
US6731309B1 (en) 1998-08-28 2004-05-04 Corel Corporation Real time preview
US6832352B1 (en) * 1998-11-12 2004-12-14 Ncr Corporation Preserving pagination of a document converted between different page sizes
US7320105B1 (en) * 1998-12-01 2008-01-15 Intel Corporation Data display using multicolumn scrolling
US6656608B1 (en) * 1998-12-25 2003-12-02 Konica Corporation Electroluminescent material, electroluminescent element and color conversion filter
US6392662B1 (en) * 1999-01-07 2002-05-21 Autodesk, Inc. Draw order preservation in a computer-implemented graphics system
US6380940B1 (en) 1999-07-30 2002-04-30 Curl Corporation Processing graphical objects having origins defined with elasticity
US6504544B1 (en) 1999-07-30 2003-01-07 Curl Corporation Processing layout of text graphical objects
US6667750B1 (en) 1999-07-30 2003-12-23 Curl Corporation Multiple pass layout of graphical objects with elastics
US6473093B1 (en) 1999-07-30 2002-10-29 Curl Corporation Processing of graphical objects with distinct stretch and compression properties
US6356279B1 (en) 1999-07-30 2002-03-12 Curl Corporation Processing of graphical objects with minimum and preferred sizes
US6986103B1 (en) * 1999-12-07 2006-01-10 Microsoft Corporation Document formatting based on optimized formatting values
US7093196B1 (en) * 2000-06-10 2006-08-15 Oracle International Corporation Method and apparatus for aligning items relatively within an electronic document
US7685520B2 (en) 2000-06-22 2010-03-23 Intel Corporation Electronic programming guide with selectable categories
MXPA01008719A (es) * 2000-09-06 2002-04-10 Air Products Polymers Lp Conservacion de emulsiones polimericas usando compuestos cationicos.
US6919890B2 (en) 2000-09-28 2005-07-19 Curl Corporation Grid and table layout using elastics
AU2002233991A1 (en) * 2000-12-06 2002-06-18 American Express Travel Related Services Company, Inc. Layout generator system and method
US20020165883A1 (en) * 2001-02-26 2002-11-07 Xerox Corporation Electronic document management system
JP3475186B2 (ja) * 2001-03-21 2003-12-08 株式会社ニチベイ ブラインド、ブラインド用スラット、その製造方法及びその成形加工機
US6894804B2 (en) * 2001-10-03 2005-05-17 Toshiba Tec Kabushiki Kaisha Method to dynamically perform document layout functions
US20030106021A1 (en) * 2001-11-30 2003-06-05 Tushar Mangrola Apparatus and method for creating PDF documents
US7133152B2 (en) 2002-02-28 2006-11-07 Kabushiki Kaisha Toshiba Post RIP paper conversion
US7164492B2 (en) * 2002-03-07 2007-01-16 Kabushiki Kaisha Toshiba Automatic facsimile document resizing
US7245392B2 (en) 2002-03-08 2007-07-17 Kabushiki Kaisha Toshiba Method for generating a fax cover page
JP2004054894A (ja) * 2002-05-27 2004-02-19 Minolta Co Ltd プリンタドライバプログラム
US7272258B2 (en) * 2003-01-29 2007-09-18 Ricoh Co., Ltd. Reformatting documents using document analysis information
US7366978B1 (en) * 2003-02-13 2008-04-29 Microsoft Corporation Method and system for creating a grid-like coordinate system for addressing data contained in an irregular computer-generated table
US7275210B2 (en) * 2003-03-21 2007-09-25 Fuji Xerox Co., Ltd. Systems and methods for generating video summary image layouts
US7454699B2 (en) * 2003-03-24 2008-11-18 Microsoft Corporation Smart content insertion
US7945855B2 (en) 2003-03-24 2011-05-17 Microsoft Corporation Smart space insertion
US7360157B1 (en) 2003-09-19 2008-04-15 Microsoft Corporation Aligning content in an electronic document
EP1524606B1 (de) 2003-10-15 2009-09-16 Canon Kabushiki Kaisha Selektive Voranzeige und Probedruck von Dokumente oder Layouts, die variablen Daten enthalten
GB2407677A (en) * 2003-10-31 2005-05-04 Hewlett Packard Development Co Post-rendering document space based on rules
US7426690B1 (en) 2003-12-09 2008-09-16 Microsoft Corporation Extensible markup language markup cloning on table rows and cells in a software application document
US7464330B2 (en) 2003-12-09 2008-12-09 Microsoft Corporation Context-free document portions with alternate formats
US7617447B1 (en) 2003-12-09 2009-11-10 Microsoft Corporation Context free document portions
US7359902B2 (en) 2004-04-30 2008-04-15 Microsoft Corporation Method and apparatus for maintaining relationships between parts in a package
US7549118B2 (en) 2004-04-30 2009-06-16 Microsoft Corporation Methods and systems for defining documents with selectable and/or sequenceable parts
US7512878B2 (en) 2004-04-30 2009-03-31 Microsoft Corporation Modular document format
US7383500B2 (en) * 2004-04-30 2008-06-03 Microsoft Corporation Methods and systems for building packages that contain pre-paginated documents
US7487448B2 (en) 2004-04-30 2009-02-03 Microsoft Corporation Document mark up methods and systems
US7418652B2 (en) 2004-04-30 2008-08-26 Microsoft Corporation Method and apparatus for interleaving parts of a document
US8661332B2 (en) 2004-04-30 2014-02-25 Microsoft Corporation Method and apparatus for document processing
US8243317B2 (en) 2004-05-03 2012-08-14 Microsoft Corporation Hierarchical arrangement for spooling job data
US7580948B2 (en) 2004-05-03 2009-08-25 Microsoft Corporation Spooling strategies using structured job information
US7755786B2 (en) 2004-05-03 2010-07-13 Microsoft Corporation Systems and methods for support of various processing capabilities
US7519899B2 (en) 2004-05-03 2009-04-14 Microsoft Corporation Planar mapping of graphical elements
US7440132B2 (en) 2004-05-03 2008-10-21 Microsoft Corporation Systems and methods for handling a file with complex elements
US7634775B2 (en) 2004-05-03 2009-12-15 Microsoft Corporation Sharing of downloaded resources
US8363232B2 (en) 2004-05-03 2013-01-29 Microsoft Corporation Strategies for simultaneous peripheral operations on-line using hierarchically structured job information
US7607141B2 (en) 2004-05-03 2009-10-20 Microsoft Corporation Systems and methods for support of various processing capabilities
US7996759B2 (en) * 2004-09-14 2011-08-09 Oracle Internatonal Corporation Data insertion from a database into a fixed electronic template form that supports overflow data
US7617450B2 (en) 2004-09-30 2009-11-10 Microsoft Corporation Method, system, and computer-readable medium for creating, inserting, and reusing document parts in an electronic document
US7409635B2 (en) * 2004-11-16 2008-08-05 Zalag Corporation Display/layout methods and apparatuses including content items and display containers
US7584111B2 (en) * 2004-11-19 2009-09-01 Microsoft Corporation Time polynomial Arrow-Debreu market equilibrium
JP4047326B2 (ja) * 2004-11-25 2008-02-13 キヤノン株式会社 レイアウト装置、レイアウト方法及びプログラム
US7617229B2 (en) 2004-12-20 2009-11-10 Microsoft Corporation Management and use of data in a computer-generated document
US7310771B2 (en) * 2004-12-20 2007-12-18 Microsoft Corporation Method and computer-readable medium for providing page and table formatting services
US7614000B2 (en) 2004-12-20 2009-11-03 Microsoft Corporation File formats, methods, and computer program products for representing presentations
US7620889B2 (en) 2004-12-20 2009-11-17 Microsoft Corporation Method and system for linking data ranges of a computer-generated document with associated extensible markup language elements
US7617451B2 (en) * 2004-12-20 2009-11-10 Microsoft Corporation Structuring data for word processing documents
US7617444B2 (en) 2004-12-20 2009-11-10 Microsoft Corporation File formats, methods, and computer program products for representing workbooks
US7770180B2 (en) 2004-12-21 2010-08-03 Microsoft Corporation Exposing embedded data in a computer-generated document
US7752632B2 (en) 2004-12-21 2010-07-06 Microsoft Corporation Method and system for exposing nested data in a computer-generated document in a transparent manner
US20060132836A1 (en) * 2004-12-21 2006-06-22 Coyne Christopher R Method and apparatus for re-sizing image data
JP4238222B2 (ja) * 2005-01-04 2009-03-18 インターナショナル・ビジネス・マシーンズ・コーポレーション オブジェクト編集システム、オブジェクト編集方法及びオブジェクト編集プログラム
JP4660537B2 (ja) * 2005-02-17 2011-03-30 株式会社日立製作所 情報管理システム及び書類情報管理方法
US7434159B1 (en) 2005-05-11 2008-10-07 Hewlett-Packard Development Company, L.P. Automatically layout of document objects using an approximate convex function model
US7644356B2 (en) * 2005-06-10 2010-01-05 Hewlett-Packard Development Company, L.P. Constraint-based albuming of graphic elements
JP4732029B2 (ja) * 2005-06-29 2011-07-27 キヤノン株式会社 レイアウト決定方法および情報処理装置およびレイアウト決定プログラム
US20070070437A1 (en) * 2005-09-27 2007-03-29 Lexmark International, Inc. Method for incising a sheet of media
US7787892B2 (en) 2005-10-05 2010-08-31 Via Technologies, Inc. Method and apparatus for adaptive multi-stage multi-threshold detection of paging indicators in wireless communication systems
US9348799B2 (en) * 2005-12-09 2016-05-24 Adobe Systems Incorporated Forming a master page for an electronic document
US7725815B2 (en) * 2005-12-12 2010-05-25 Sap Ag Method and system for ordered resizing columns in a table
US20070136655A1 (en) * 2005-12-12 2007-06-14 Peters Johan C Method and system for linearly resizing columns in a table
US8650482B2 (en) * 2005-12-14 2014-02-11 Microsoft Corporation Dynamic positioning and aligning tabs relative to margins indent and column width
US20070162844A1 (en) * 2006-01-12 2007-07-12 Microsoft Corporation Automatic layout of objects
US7761789B2 (en) 2006-01-13 2010-07-20 Ricoh Company, Ltd. Methods for computing a navigation path
US7730422B2 (en) * 2006-01-25 2010-06-01 Microsoft Corporation Smart icon placement across desktop size changes
US7773829B1 (en) * 2006-02-10 2010-08-10 Adobe Systems Incorporated Image-centric rulers
US7788579B2 (en) * 2006-03-06 2010-08-31 Ricoh Co., Ltd. Automated document layout design
US9081782B2 (en) * 2006-11-17 2015-07-14 Cabin Creek, Llc Systems and methods for dynamically generating graphical memorabilia projects for presentation and use
US8212805B1 (en) 2007-01-05 2012-07-03 Kenneth Banschick System and method for parametric display of modular aesthetic designs
US8584042B2 (en) 2007-03-21 2013-11-12 Ricoh Co., Ltd. Methods for scanning, printing, and copying multimedia thumbnails
US8812969B2 (en) 2007-03-21 2014-08-19 Ricoh Co., Ltd. Methods for authoring and interacting with multimedia representations of documents
US8583637B2 (en) * 2007-03-21 2013-11-12 Ricoh Co., Ltd. Coarse-to-fine navigation through paginated documents retrieved by a text search engine
US7949948B2 (en) * 2007-05-09 2011-05-24 Microsoft Corporation Constraint and rule-based page layout
US8095884B2 (en) 2007-06-01 2012-01-10 Microsoft Corporation Automatic alignment with subcomponents on a visual layout
GB0808109D0 (en) * 2008-05-02 2008-06-11 Wave2 Media Solutions Ltd Automatic document generator
JP5219868B2 (ja) * 2009-02-04 2013-06-26 キヤノン株式会社 レイアウト装置、レイアウト方法、およびレイアウトプログラム
US20100218090A1 (en) * 2009-02-26 2010-08-26 Universal - Ad Ltd. Sub-page-based page layout system and method thereof
CN101876973B (zh) * 2009-04-30 2012-05-30 方正国际软件(北京)有限公司 一种版面均等化排版方法
US8438475B2 (en) * 2009-05-22 2013-05-07 Cabin Creek, Llc Systems and methods for producing user-configurable accented presentations
US8739028B2 (en) * 2009-05-22 2014-05-27 Cabin Creek, Llc Methods for producing user-configurable accented presentations
US10553001B2 (en) * 2009-11-20 2020-02-04 Adobe Inc. Master page overlay
US8473842B2 (en) * 2010-05-12 2013-06-25 Microsoft Corporation Contour based flow layout
US9158743B1 (en) * 2011-03-28 2015-10-13 Amazon Technologies, Inc. Grid layout control for network site design
CN103593331B (zh) * 2012-08-15 2018-09-18 腾讯科技(深圳)有限公司 一种页面排版方法及装置
US9223756B2 (en) 2013-03-13 2015-12-29 Adobe Systems Incorporated Method and apparatus for identifying logical blocks of text in a document
FR3017735B1 (fr) * 2014-02-18 2017-07-07 Networth Procede de redimensionnement en continu d'un document numerique graphique
US10042547B2 (en) * 2014-06-17 2018-08-07 Vmware, Inc. User interface control based on pinch gestures
US10331319B2 (en) 2016-06-29 2019-06-25 Adobe Inc. Objects alignment and distribution layout
US11112927B2 (en) * 2018-04-25 2021-09-07 Adobe Inc. Digital content automated layout system
CN110858241B (zh) * 2018-08-16 2023-03-14 上海哔哩哔哩科技有限公司 基于浏览器的自适应排版方法、装置和存储介质
JP7451106B2 (ja) * 2019-08-08 2024-03-18 キヤノン株式会社 情報処理装置、制御方法、プログラム及び記憶媒体
WO2021160679A1 (en) 2020-02-10 2021-08-19 Pitch Software Gmbh Apparatus and method of re-ordering drawing blocks on a slide of a user interface canvas
LU500143B1 (en) 2021-05-10 2022-11-10 Pitch Software Gmbh Alignment of Element Blocks
LU501299B1 (en) 2022-01-21 2023-07-24 Pitch Software Gmbh Block group detection

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4575813A (en) * 1983-02-23 1986-03-11 International Business Machines Corporation Automatically balancing and vertically justifying a plurality of text/graphics-columns
US4539653A (en) * 1983-04-11 1985-09-03 International Business Machines Corporation Formatting text/graphics using plural independent formatting mechanisms
US4723209A (en) * 1984-08-30 1988-02-02 International Business Machines Corp. Flow attribute for text objects
US4739477A (en) * 1984-08-30 1988-04-19 International Business Machines Corp. Implicit creation of a superblock data structure
US4800510A (en) * 1985-07-31 1989-01-24 Computer Associates International, Inc. Method and system for programmed control of computer generated graphics layout
JPS63245556A (ja) * 1987-03-31 1988-10-12 Toshiba Corp 図表データ割付け方法
JP2559406B2 (ja) * 1987-05-18 1996-12-04 株式会社日立製作所 文書作成装置
US4974174A (en) * 1987-08-24 1990-11-27 Wang Laboratories, Inc. Alignment method for positioning textual and graphic objects
US5144693A (en) * 1988-12-30 1992-09-01 Chipsoft Ca Corp. Method and apparatus for generic form generation
US5214755A (en) * 1989-04-25 1993-05-25 Microsoft Corporation Document processing method and system
JPH03177964A (ja) * 1989-12-07 1991-08-01 Toshiba Corp 文書整形装置
US5649216A (en) * 1991-05-17 1997-07-15 Joseph S. Sieber Method and apparatus for automated layout of text and graphic elements
WO1992021097A1 (en) * 1991-05-17 1992-11-26 Inscribe, Inc. Method and apparatus for automated page layout of text and graphic elements
JPH0594433A (ja) * 1991-10-02 1993-04-16 Fuji Xerox Co Ltd 文書処理装置
US5425138A (en) * 1991-12-26 1995-06-13 Casio Computer Co., Ltd. Apparatus and method for automatically editing documents including text data and table data with ruled lines
US5437008A (en) * 1992-06-23 1995-07-25 Adobe Systems Incorporated Method of establishing constraints and links in a distribution frame between graphical elements and resolving the constaints
US5796401A (en) * 1996-08-09 1998-08-18 Winer; Peter W. System for designing dynamic layouts adaptable to various display screen sizes and resolutions

Also Published As

Publication number Publication date
US6144974A (en) 2000-11-07
EP0848351A2 (de) 1998-06-17
DE69732684D1 (de) 2005-04-14
JPH10289230A (ja) 1998-10-27
CA2224510A1 (en) 1998-06-13
EP0848351B1 (de) 2005-03-09
EP0848351A3 (de) 1999-10-27

Similar Documents

Publication Publication Date Title
DE69732684T2 (de) Automatische Modifizierung von Dokumentgestaltungen
DE69722246T2 (de) Grafiksystem und verfahren zur anpassung von objekten an schablone
DE4334524C2 (de) Dokumentverarbeitungsvorrichtung
DE69936603T2 (de) Automatisches Bildanordnungsverfahren und -system
DE69434405T2 (de) Verfahren zur Erzeugung eines visuellen Entwurfs
DE3714145A1 (de) Verfahren und vorrichtung zum automatischen auslegen einer kennzeichnung
DE69629173T2 (de) Automatisches Plazieren eines graphischen Musters
DE3806223C2 (de) Verfahren zur Erzeugung von Zeichenmustern
DE112015005994B4 (de) Softwareerzeugungseinrichtung
DE2431379A1 (de) Datenverarbeitungseinrichtung
DE602005002835T2 (de) Verfahren zur Identifizierung von redundantem Text in elektronischen Dokumenten
DE112012007165T5 (de) Programmerzeugungs-Unterstützungsvorrichtung, Verfahren und Aufzeichnungsmedium
DE2417923A1 (de) Videovorrichtung zur textgestaltung
EP1536377B1 (de) Verfahren zur Veränderung der Abmessungen eines elektronisch gespeicherten Bildes
DE3932024C2 (de) Datenverarbeitungsanlage zur Umwandlung einer Gruppe von Umrißdaten
DE3914905C2 (de)
DE3209187A1 (de) Verfahren zur darstellung eines textes auf einer einzeiligen anzeigevorrichtung eines texterstellungsgeraetes
DE102008008730B4 (de) Vorrichtung und Verfahren zur Animation eines grafischen digitalen Dokumentes
DE112015006409T5 (de) Objektanpassungswerkzeug und Objektanpassungsprogramm
DE4121564C2 (de) Vorrichtung zur Erstellung von Dokumenten
DE19653435A1 (de) Elektronisches Publizier-System
DE3706492C2 (de)
DE10257436A1 (de) Bedarfspunktgerechtes Dokumenterzeugungssystem und -verfahren
EP0770946B1 (de) Verfahren zur automatisierten optimalen Redundanz-Auslegung von Messungen für die Leittechnik in Kraftwerken
DE3838934A1 (de) Dokumentationsverarbeitungsanlage

Legal Events

Date Code Title Description
8364 No opposition during term of opposition