Ich habe schon lange nach einer eleganten Möglichkeit gesucht, aber keine Möglichkeit gefunden. Ich verwende InDesign CS5 und wollte wissen, wie ich eine EPS-Grafik (oder eine andere Vektorgrafik), die ich in mein Poster eingefügt habe, entsprechend ihrer Textgröße skalieren kann.
Die EPS-Datei, die ich habe, enthält chemische Reaktionsschemata mit Elementsymbolen und Bindungen und so weiter (hergestellt von ChemDraw). Der Text, der in dieser Datei enthalten ist, ist immer noch ein Texttext (ich habe ihn nicht in Kurven oder so umgewandelt). Jetzt suche ich nach der Möglichkeit, diese Reaktionsschemata zu vergrößern, indem ich dem Programm mitteile, die Schrift beispielsweise 20 pt groß zu machen und jedes andere Element dieser Vektorgrafik proportional zu vergrößern .
Der GrundWarum ich das frage, ist, dass ich mehrere dieser Bilder habe, aber sie werden nicht mit derselben Größe importiert, aber ich möchte sie einheitlich auf dem gesamten Poster oder Dokument anzeigen.
Der schmutzige Weg wäre, Text in der gewünschten Größe daneben zu schreiben und das Schema neu zu skalieren, bis die Schriftgrößen übereinstimmen. Sobald es jedoch erforderlich ist, dass ein Schema etwas kleiner wird, müsste ich den gesamten Vorgang für jede einzelne Grafik wiederholen.
Bearbeiten:
Download der Dummy-EPS-Datei (die Datei heißt "wilkinson.eps" in Bezug auf den Katalysator)
Als ich feststellte, dass die EPS-Datei eine Syntax im PDF-Stil verwendet, stellte ich fest, dass die Textskalierung mit erfolgt Tf
:
8 0 0 8 5.327283 18.119995 Tm
Die 6 Zahlen sind eine Transformationsmatrix, wobei die erste Zahl ( 8
) die x-Skala und die vierte Zahl (zufällig auch 8
) die y-Skala des Textes ist. Sie müssen eine auswählen (normalerweise) – ich habe die erste Nummer ausgewählt.
Als nächstes erhalten Sie die Bilddatei aus einer beliebigen Auswahl. Sie können testen, ob eine Auswahl (entweder „direkt“ oder ihr übergeordnetes Rechteck) eine Grafik ist, und wenn ja, wie ihre Textbeschreibung lautet: imageTypeName
. Für meine Version von InDesign ist dies "EPS".
Eine verknüpfte Datei bietet Zugriff auf ihren ursprünglichen vollständigen Pfadnamen, und da das EPS ein einfaches Nur-Text-Format ist, können Sie es dann Zeile für Zeile lesen und mit einem regulären Ausdruck testen, ob der erste Befehl kommt Tf
. Diese Funktion scanFile
gibt die tatsächliche Textgröße zurück. Die Multiplikation mit dem Maßstab des Objekts ergibt die effektive Textgröße in dem Maßstab, der sich derzeit in Ihrem Dokument befindet. Dann müssen nur noch zwei resize
Befehle ausgegeben werden: einer für das Containerrechteck und einer für das enthaltende Bild.
Das folgende Javascript erledigt all dies auf einem ausgewählten EPS. Speichern unter scaleEPS.jsx
in Ihrem Benutzer-/Skript-Panel-Ordner. Ändere das desiredSize
oben auf die gewünschte Größe oder ersetze es durch die Linie
desiredSize = Number(prompt("Size", "10"));
um es für jeden einzelnen Lauf einzugeben, wenn Sie für jeden Lauf unterschiedliche Größen benötigen.
//DESCRIPTION:Scale EPS Image for Text
// A Jongware Script 17-Jul-2015
var desiredSize = 12;
if (app.selection.length == 1)
{
obj = app.selection[0];
if (obj.hasOwnProperty('graphics') && obj.graphics.length == 1)
obj = obj.graphics[0];
if (obj instanceof EPS ||
(obj instanceof Graphic && obj.imageTypeName == "EPS"))
{
textsize = scanFile (obj.itemLink.filePath);
textsize *= obj.horizontalScale/100;
obj.parent.resize (CoordinateSpaces.INNER_COORDINATES,
AnchorPoint.CENTER_ANCHOR,
ResizeMethods.MULTIPLYING_CURRENT_DIMENSIONS_BY, [desiredSize/textsize, desiredSize/textsize]);
obj.resize (CoordinateSpaces.INNER_COORDINATES,
AnchorPoint.CENTER_ANCHOR,
ResizeMethods.MULTIPLYING_CURRENT_DIMENSIONS_BY, [desiredSize/textsize, desiredSize/textsize]);
}
}
function scanFile (fullpath)
{
var file = File(fullpath)
if (file.open('r') == false)
return 0;
var m;
while (!file.eof)
{
m = file.readln().match(/^(\d+(\.\d*)?)( (\d+(\.\d*)?)){5} Tm/);
if (m)
{
file.close();
return m[1];
}
}
file.close();
// a reasonable default
return 10;
}
Ein paar Haftungsausschlüsse:
Dies ist ein sehr einfaches Verfahren. Was Sie genau wissen sollten, ist, um wie viel (in Prozent) ein Text von 18pt auf 20pt vergrößert wird.
Messen Sie einfach den Text vor dem Vergrößern (in Pixel oder mm) und messen Sie ihn nach dem Vergrößern. Dann machen Sie eine Berechnung, und dies ist das Verhältnis, mit dem Sie die gesamte Zeichnung vergrößern müssen.
joojaa
Vinzenz
Kristallsalat