Triangular Text Frames
How do I draw triangular text frames in indesign6?
You can delete on corner of a rectangular text frame, or just draw a triangle and make it a text frame (by default, clicking in any shape with the text tool will convert it.
Similar Messages
-
Text alignment inside custom text frame
I created a custom text frame by combining a triangle and a rectangle using Pathfinder->Add but when I added text, this is how it looked -- but I wanted it to look this way.
Ketchapay2 wrote:
Thanks! I'll try that now. UPDATE: When I applied rounded corners, it also rounded the pointer which is supposed to be sharp.
Well, that used to work, I think.
In any case, I just tried something else and it seems to work. Make the round corner text frame and the the triangle as you did before. Put the triangle BEHIND the text frame and make the shape. There is however, another potential problem to this technique -- the text will want to flow into the triangle area. I don't think this is escapable without either putting the text into a seond rectangular frame in front, or adding an empty frame in the triangular area and applying text wrap to push the text back into line.
Peter -
Need to convert all text frames to intinal caps.
Hi All,
I need to convert all text frames in the eps files the text should be first letter to be caps.
EXAMPLE:
" The Example Text In The Discussion" to be " The example text in the discussion "
I am manually converting around 350 Eps files daily,
Any help!!!
regards,
VinothHi Larry,
Thanks for the reply.
Yes, excatly we do manually by Type>Change Case>Sentence Case
But i need this to be done in scripting. My Knowledge in scripting is not good.
Could you please help me regarding this issue.
regards,
Vinoth -
Text will NOT align to top of text frame
The text is low in the text frame even though the vertical justification is set to align TOP in the text frame options and the first baseline offset is set to Ascent in baseline options. There is no baseline shift or inset set and align to baseline grid is NOT selected. Any ideas how to fix it so the text is at the top of the box? Thanks!
@gtingley – did you try:
1. Copy/Paste the text frame to a fresh document?
2. Export as IDMS (snippet) file and place it again?
Just out of fun, did you try to copy/paste the text to a new text frame? Is a object format applied to the text frame? (Just fishing in the dark.)
Uwe -
Some pages use master text frame, others don't. Fix?
It turns out in my document, some of my pages have a master text frame and others don't. Many don't. It must be the way I created the frames, accidentally creating independent frames. Is there a fool proof way not to accieentally create independent frames and is there a good way to make sure all these pages with independent frames are turned back into master text frames?
What I can do is delete the independent frame, then link the previous frame to the inside of the master text frame (I think I used to drop the link on a ruler too often and that creates an independent frame that is in most cases indistinguishable from a master text frame). This is tedious to do for the entire document. Is there an easier way?It sounds like you understand what happened. Clicking the place gun cusror on any type of guide will ignore your master frames. Overriding a master text frame before placing the text and Shift-clicking in the overridden frame will also ignore the master frames on subsequent pages.
The bes thing you can do is keep your eyse open to watch the shape of the cursor. If ID is going to use an existing frame the cursor will be surrounded by parentheses and a new frame will use a cursor with a square upper left corner. You should also develop the habit of clicking in empty areas away from guides if you are using existing frames -- you don't need to click at the top of these frames.
It's also possible that you did everything correctly and you are working in a facing pages file and at some point added or deleted a single page somewhere other than the end. That would cause all following pages to switch sides and master objects would be reapplied behind any overridden frames.
There is no easy way to deal with extra frames. If they are not causing a problem you may be able to simply ignore them. -
Set top and bottom inset spacing values in Text Frame Options via jsx script
I am looking for a way to set the top and bottom inset spacing values only to 2 points in Text Frame Options via a .jsx scrpt.
For years, I have used a script that sets Preferences, such as:
with(app.storyPreferences){
opticalMarginAlignment = false;
opticalMarginSize = 12; // pts
I would like to add the code to this same script that would make Top = 0p2 and Bottom 0p2 but leave Left and Right as 0p0.
Any help would be greatly appreciated.Here is the full .jsx file that we now use to set preferences.
Ideally, this could be modified to include setting any text frame created to have 0p2 inset Top and Bottom, but 0p0 Left and Right:
//ApplicationTextDefaults
//An InDesign CS2 JavaScript
//Sets the application text defaults, which will become the text defaults for all
//new documents. Existing documents will remain unchanged.
with(app.textDefaults){
alignToBaseline = false; // align to baseline grid
try {
// appliedFont = app.fonts.item("Times New Roman");
appliedFont = app.fonts.item("Helvetica");
catch (e) {}
try {
fontStyle = "Medium";
catch (e) {}
autoleading = 100;
balanceRaggedLines = false;
baselineShift = 0;
capitalization = Capitalization.normal;
composer = "Adobe Paragraph Composer";
desiredGlyphScaling = 100;
desiredLetterSpacing = 0;
desiredWordSpacing = 100;
dropCapCharacters = 0;
if (dropCapCharacters != 0) {
dropCapLines = 3;
//Assumes that the application has a default character style named "myDropCap"
//dropCapStyle = app.characterStyles.item("myDropCap");
fillColor = app.colors.item("Black");
fillTint = 100;
firstLineIndent = "0pt";
// firstLineIndent = "14pt";
gridAlignFirstLineOnly = false;
horizontalScale = 100;
hyphenateAfterFirst = 3;
hyphenateBeforeLast = 4;
hyphenateCapitalizedWords = false;
hyphenateLadderLimit = 1;
hyphenateWordsLongerThan = 5;
hyphenation = true;
hyphenationZone = "3p";
hyphenWeight = 9;
justification = Justification.leftAlign;
keepAllLinesTogether = false;
keepLinesTogether = true;
keepFirstLines = 2;
keepLastLines = 2;
keepWithNext = 0;
kerningMethod = "Optical";
kerningValue = 0;
leading = 6.3;
// leading = 14;
leftIndent = 0;
ligatures = true;
maximumGlyphScaling = 100;
maximumLetterSpacing = 0;
maximumWordSpacing = 160;
minimumGlyphScaling = 100;
minimumLetterSpacing = 0;
minimumWordSpacing = 80;
noBreak = false;
otfContextualAlternate = true;
otfDiscretionaryLigature = true;
otfFigureStyle = OTFFigureStyle.proportionalOldstyle;
otfFraction = true;
otfHistorical = true;
otfOrdinal = false;
otfSlashedZero = true;
otfSwash = false;
otfTitling = false;
overprintFill = false;
overprintStroke = false;
pointSize = 6.3;
// pointSize = 11;
position = Position.normal;
rightIndent = 0;
ruleAbove = false;
if(ruleAbove == true){
ruleAboveColor = app.colors.item("Black");
ruleAboveGapColor = app.swatches.item("None");
ruleAboveGapOverprint = false;
ruleAboveGapTint = 100;
ruleAboveLeftIndent = 0;
ruleAboveLineWeight = .25;
ruleAboveOffset = 14;
ruleAboveOverprint = false;
ruleAboveRightIndent = 0;
ruleAboveTint = 100;
ruleAboveType = app.strokeStyles.item("Solid");
ruleAboveWidth = RuleWidth.columnWidth;
ruleBelow = false;
if(ruleBelow == true){
ruleBelowColor = app.colors.item("Black");
ruleBelowGapColor = app.swatches.item("None");
ruleBelowGapOverprint = false;
ruleBelowGapTint = 100;
ruleBelowLeftIndent = 0;
ruleBelowLineWeight = .25;
ruleBelowOffset = 0;
ruleBelowOverprint = false;
ruleBelowRightIndent = 0;
ruleBelowTint = 100;
ruleBelowType = app.strokeStyles.item("Solid");
ruleBelowWidth = RuleWidth.columnWidth;
singleWordJustification = SingleWordJustification.leftAlign;
skew = 0;
spaceAfter = 0;
spaceBefore = 0;
startParagraph = StartParagraph.anywhere;
strikeThru = false;
if(strikeThru == true){
strikeThroughColor = app.colors.item("Black");
strikeThroughGapColor = app.swatches.item("None");
strikeThroughGapOverprint = false;
strikeThroughGapTint = 100;
strikeThroughOffset = 3;
strikeThroughOverprint = false;
strikeThroughTint = 100;
strikeThroughType = app.strokeStyles.item("Solid");
strikeThroughWeight = .25;
strokeColor = app.swatches.item("None");
strokeTint = 100;
strokeWeight = 0;
tracking = 0;
underline = false;
if(underline == true){
underlineColor = app.colors.item("Black");
underlineGapColor = app.swatches.item("None");
underlineGapOverprint = false;
underlineGapTint = 100;
underlineOffset = 3;
underlineOverprint = false;
underlineTint = 100;
underlineType = app.strokeStyles.item("Solid");
underlineWeight = .25
verticalScale = 100;
//Units & Increments preference panel
//Must do this to make sure our units that we set are in points. The vert and horiz
//units that get set default to the current measurement unit. We set it to points
//so we can be sure of the value. We'll reset it later to the desired setting.
with(app.viewPreferences){
horizontalMeasurementUnits = MeasurementUnits.points; // Ruler Units, horizontal
verticalMeasurementUnits = MeasurementUnits.points; // Ruler Units, vertical
//General preference panel
with(app.generalPreferences){
pageNumbering = PageNumberingOptions.section; // Page Numbering, View
toolTips = ToolTipOptions.normal; // Tool Tips
// Not supported in CS4
// toolsPalette = ToolsPaletteOptions.doubleColumn; // Floating Tool Palette
completeFontDownloadGlyphLimit = 2000; // Always Subset Fonts...
try {
//Wrapped in try/catch in case it is run with CS4 and earlier to avoid the error
preventSelectingLockedItems = false; // Needed for CS5+
catch (e) {}
//Type preference panel
with (app.textEditingPreferences){
tripleClickSelectsLine = true; // Triple Click to Select a Line
smartCutAndPaste = true; // Adjust Spacing Automatically when Cutting and Pasting Words
dragAndDropTextInLayout = false; // Enable in Layout View
allowDragAndDropTextInStory = true; // Enable in Story Editor
with(app.textPreferences){
typographersQuotes = true; // Use Typographer's Quotes
useOpticalSize = true; // Automatically Use Correct Optical Size
scalingAdjustsText = true; // Adjust Text Attributes when Scaling
useParagraphLeading = false; // Apply Leading to Entire Paragraphs
linkTextFilesWhenImporting = false; // Create Links when Placing Text and Spreadsheet Files
// Missing following (Font Preview Size, Past All Information/Text Only)
//Advanced Type preference panel
with(app.textPreferences){
superscriptSize = 58.3; // Superscript, size
superscriptPosition = 33.3; // Superscript, position
subscriptSize = 58.3; // Subscript, size
subscriptPosition = 33.3; // Subscript, position
smallCap = 70; // Smallcap
with(app.imePreferences){
inlineInput = false; // Use Inline Input for Non-Latin Text
//Composition preference panel
with(app.textPreferences){
highlightKeeps = false; // Keep Violations
highlightHjViolations = false; // H&J Violations
highlightCustomSpacing = false; // Custom Tracking/Kerning
highlightSubstitutedFonts = true; // Substituted Fonts
highlightSubstitutedGlyphs = false; // Substituted Glyphs
justifyTextWraps = false; // Justify Text Next to an Object
abutTextToTextWrap = true; // Skip by Leading
zOrderTextWrap = false; // Text Wrap Only Affects Text Beneath
//Units & Increments preference panel
with(app.viewPreferences){
rulerOrigin = RulerOrigin.spreadOrigin; // Ruler Units, origin
// These are set at the end of the script after all the changes have been made
// horizontalMeasurementUnits = MeasurementUnits.points; // Ruler Units, horizontal
// verticalMeasurementUnits = MeasurementUnits.inches; // Ruler Units, vertical
pointsPerInch = 72; // Point/Pica Size, Points/Inch
cursorKeyIncrement = 1; // Keyboard Increment, Cursor Key
with(app.textPreferences){
baselineShiftKeyIncrement = 2; // Keyboard Increment, Baseline Shift
leadingKeyIncrement = 2; // Keyboard Increment, Size/Leading
kerningKeyIncrement = 20; // Keyboard Increment, Kerning
//Grids preference panel
with(app.gridPreferences){
baselineColor = UIColors.lightBlue; // Baseline Grid, Color
baselineStart = 48; // Baseline Grid, Start
baselineDivision = 6; // Baseline Grid, Increment Every
baselineViewThreshold = 50; // Baseline Grid, View Threshold
baselineGridRelativeOption = BaselineGridRelativeOption.topOfPageOfBaselineGridRelativeOption; // Baseline Grid, Relative To
gridColor = UIColors.lightGray; // Document Grid, Color
horizontalGridlineDivision = 12; // Document Grid, Horizontal, Gridline Every
horizontalGridSubdivision = 12; // Document Grid, Horizontal, Subdivisions
verticalGridlineDivision = 12; // Document Gird, Vertical, Gridline Every
verticalGridSubdivision = 12; // Document Grid, Vertical, Subdivisions
gridsInBack = true; // Grids in Back
documentGridSnapto = false; // snap to grid or not
documentGridShown = false; // show document grid
//Guides & Pasteboard preference panel
with(app.documentPreferences){
marginGuideColor = UIColors.violet; // Color, Margins
columnGuideColor = UIColors.magenta; // Color, Columns
with(app.pasteboardPreferences){
bleedGuideColor = UIColors.fiesta; // Color, Bleed
slugGuideColor = UIColors.gridBlue; // Color, Slug
previewBackgroundColor = UIColors.lightGray; // Color, Preview Background
minimumSpaceAboveAndBelow = 72; // Minimum Vertical Offset
with(app.viewPreferences){
guideSnaptoZone = 4; // Snap to Zone
with(app.guidePreferences){
guidesInBack = false; // Guides in Back
//Dictionary preference panel
with(app.dictionaryPreferences){
composition = ComposeUsing.both; // Hyphenatin Exceptions, Compose Using
mergeUserDictionary = false; // Merge User Dictionary into Document
recomposeWhenChanged = true; // Recompose All Stories When Modified
// Missing (Lang, Hyph, Spelling, Double Quotes, Single Quotes)
//Spelling preference panel
with(app.spellPreferences){
checkMisspelledWords = true; // Find, Misspelled Words
checkRepeatedWords = true; // Find, Repeated Words
checkCapitalizedWords = true; // Find, Uncapitalized Words
checkCapitalizedSentences = true; // Find, Uncapitalized Sentences
dynamicSpellCheck = true; // Enable Dynamic Spelling
misspelledWordColor = UIColors.red; // Color, Misspelled Words
repeatedWordColor = UIColors.green; // Color, Repeated Words
uncapitalizedWordColor = UIColors.green; // Color, Uncapitalized Words
uncapitalizedSentenceColor = UIColors.green; // Color, Uncapitalized Sentences
//Autocorrect preference panel
with(app.autoCorrectPreferences){
autoCorrect = true; // Enable Autocorrect
autoCorrectCapitalizationErrors = false; // Autocorrect Capitalization
// Missing (Language, Misspelled word pairs)
//Display Performance preference panel
with(app.displayPerformancePreferences){
defaultDisplaySettings = ViewDisplaySettings.typical; // Preserve Object-Level
persistLocalSettings = false;
// Missing (antialiasiing, greek below
//Story Editor Display preference panel
with(app.galleyPreferences){
textColor = InCopyUIColors.black; // Text Color
backgroundColor = InCopyUIColors.white; // Background
smoothText = true; // Enable Anti-Aliasing
antiAliasType = AntiAliasType.grayAntialiasing; // Type
cursorType = CursorTypes.standardCursor; // Cursor Type
blinkCursor = true; // Blink
// Missing (Font, Size, Line Spacing & Theme)
//File Handling preference panel
with(app.generalPreferences){
includePreview = true; // Always Save Preview Images with Doc
previewSize = PreviewSizeOptions.medium; // Preview Size
with(app.clipboardPreferences){
preferPDFWhenPasting = false; // Prefer PDF When Pasting
copyPDFToClipboard = true; // Copy PDF to Clipboard
preservePdfClipboardAtQuit = false; // Preserve PDF Data at Quit
// Missing (Enable Version Cue)
// Optical margin (hanging punctuation, outside margins)
with(app.storyPreferences){
opticalMarginAlignment = false;
opticalMarginSize = 12; // pts
//Wrap Up (do at end of script)
//Units & Increments preference panel
//Must do this to make sure our units that we set are in points. The vert and horiz
//units that get set default to the current measurement unit. We set it to points
//so we can be sure of the value. We'll reset it later to the desired setting.
with(app.viewPreferences){
horizontalMeasurementUnits = MeasurementUnits.picas; // Ruler Units, horizontal
verticalMeasurementUnits = MeasurementUnits.inches; // Ruler Units, vertical
// These two flags are turned off to avoid the error message about
// missing image links when InDesign opens an ad. This can especially
// be a problem when doing batch processes.
with(app.linkingPreferences){
checkLinksAtOpen = false; // checkbox: true/false
findMissingLinksAtOpen = false; // checkbox: true/false -
InDesign Text frame options - how to reset?
Working in InDesign CC 2014.
I have somehow set my text frame options so that when I use the type tool to create a text frame, columns are added as I make the box wider.
I know that I want Columns - Fixed number of 1, because I have found the settings I want by opening a new doc and creating a basic text frame and looking at the settings.
In my working doc, when I change the text frame option settings, they will not "stick" and I can only create text frames with columns, and the width increases incrementally.
Only way I can make the basic text frames I want is to copy a basic empty frame from a new doc and paste into my working doc.
How can I get the settings I make to "stick"?
Thanks!Open the Basic Text Frame Object Style, and fix your column settings there. Your new text boxes are based on those settings.
-
Why do my Object, text frame options, inset spacing settings change when I close and open my document.I set my inset spacing to 0.125 an all and when I close the document and open it later it is all set back to 0. Any suggestions? My defalut settings are 0.125
I did this. I open in design but no doc's set inset to .125 and then open a doc and it is set to 0.125. I use it and save it when I open it again it is set at 0. But the pages I created previously are set to 0.125. Could it be something else in a default somewhere?
-
Text Frame Options. Room for Side Heads added without warning
Hi -
I just got asked this and have no clue how to help. Anyone know what this is?
Every now and then, my Frame file will –apparently on its own – reset most of its text frames into having room for side heads. Makes for lots of bad labels on graphics – everything’s suddenly offset and scrolling off the bottom.
This will happen suddenly. It will usually be only one or two chapters in a book, but if I ignore it has been known spread like the black death throughout the book.
The only solution I’ve found so far has been to revert to a backup or touch each text frame individually. Setting properties for two at a time messes up location on the page.HI -
Here's what I heard back.
I believe it’s for everything except main text flow, including headers&footers on master pages, and special elements on unused master pages.
It appears to be spontaneous, but I can’t guarantee that.
I don’t use MIFs, and I’m pretty sure no one else does.
Yes to formatting imports , because we frequently change variables in one chapter and copy them back to the rest (esp date doc was last edited – not same as print date per our regulatory agency.) Likewise conditional text. We know not to copy from a file into itself in a book, although it has happened and we do exchange manuals between revisions at times. -
Hi, I am using CS6 in Saudi-Arabia. When I put a new text frame with more than one column on a page, the cursor automatically jumps to the right column. In English texts I can't get it to start on the top of the left column. Who can help?
Are using indesgn ME?, try to draw text frame with Type Tool (T) and not ME Type Tool, and make sure the language is english on control panel.
-
ID CS3 - text wrap doesn't work at the end of a long multi-columned text frame
Did a search - don't think this specific issue has been addressed:
We design large graphics often used on walls. When working with a text frame that that was 11 feet long and had 8 columns, text wrap would not work on an image placed in the last column. The same image with the same text wrap applied will work fine anywhere else in the text frame. I found that if I shortened the width of the text frame a little bit at a time eventually it would work, but there doesn't seem to be a specific cut-off width - sometimes the last column won't text wrap when the frame is 115 inches wide and sometimes it doesn't work when the frame is only 80 inches wide. Again, all of the other columns work fine. I have tried all of the obvious stuff, the only variable between the columns that wrap and the one that doesn't is it's position at the end of the text frame.
We have gotten around this issue by using multiple threaded frames instead of one long frame with multiple columns, but I am curious if anyone else has run into this or might know what the issue is.
thanksDid a search - don't think this specific issue has been addressed:
We design large graphics often used on walls. When working with a text frame that that was 11 feet long and had 8 columns, text wrap would not work on an image placed in the last column. The same image with the same text wrap applied will work fine anywhere else in the text frame. I found that if I shortened the width of the text frame a little bit at a time eventually it would work, but there doesn't seem to be a specific cut-off width - sometimes the last column won't text wrap when the frame is 115 inches wide and sometimes it doesn't work when the frame is only 80 inches wide. Again, all of the other columns work fine. I have tried all of the obvious stuff, the only variable between the columns that wrap and the one that doesn't is it's position at the end of the text frame.
We have gotten around this issue by using multiple threaded frames instead of one long frame with multiple columns, but I am curious if anyone else has run into this or might know what the issue is.
thanks -
How to link text frames in Pages 5.2?
How to link text frames in Pages 5.2?
The correct term in Pages is Text Boxes, and true linking is not implemented in v5.2. You can Unite, Intersect, Subtract, and Exclude multiple Text Boxes via the Arrange panel. These attributes only appear when two or more Text Boxes are selected. Also, on the Arrange menu, you will need Object Placement set to Move with Text, and the Text Wrap set to None for more accurate positioning.
In the following example, there was initially a Text Box with overflowing text that was duplicated. With both Text Boxes selected and aligned, I could then use the Unite feature from the Arrange panel. This allowed the text to flow into the second box. Selecting text in one box and dragging upwards continues the text selection between both boxes. Hoefler italic applied in one box is applied to both. Appropriately placed, another trip to the Arrange panel to enable Text Wrap around and text fit adjustments. -
Double-click to enter a text frame - selecting text unresponsive
Ok.
So frustrating...I haven't been able to find a solution to this anywhere online.
Let's say I've got an InDesign document open, and have my selection tool (V).
I double click on a text frame (that is full of text), see that there is now a cursor inserted in the text frame, so I go to swipe or double-click to select/highlight some text, and NOTHING HAPPENS (it is unresponsive).
I wait a second, and then I can select text.
But this was not an issue in CS6 on the Mac I used to use for almost 2 years.
I could double click on a text frame and quickly swipe text to select, it was very fast. This second-long delay in responsiveness trips me up every time, disrupts my flow and is really, really annoying when I am selecting and editing different text boxes hundreds of times all day long. I am using ID CC on a Windows machine now, but the CPU is super fast (16 GB ram, i7 processor) and should not be having any lag issues in InDesign.
Does anyone else have this problem? Is there something in the InDesign preferences that I can change, or is this a bug?de_fault, please send a complaint to Adobe otherwise they won't fix it:
Adobe - Feature Request/Bug Report Form
Problem description: When switching from the Selection tool to the Text tool (by double-clicking in a text box) there is a 1-2 second delay before you can select text.
Steps to reproduce bug:
1. Make a text box and fill with text
2. Select the Selection tool (V)
3. Double-click in the text box so that you see a cursor
4. Immediately try to select text
Results: You have to wait 1-2 seconds before you can select text.
Expected results: There should not be a delay. There was no delay in previous versions. -
Data merging: how to get multiple records in single text frame?
Hi
I'm experimenting with data merging in InDesign CS3. The biggest stumbling block I've come across is trying to get my records to flow as continuous text in a single text frame (which would, ideally, autoflow onto new pages in the document). The records vary considerably in length, and so I can't just create a standard text frame to repeat on the page.
Perhaps data merging isn't the best way of doing this and I should be learning to script instead. I feel like I'm just one step away, though.
Any suggestions would be appreciated.OK, new scenario now:
Is it possible to set a text box to auto-resize to fit the content that comes in during the data merge?
I have placed one of my data fields in a text box with a stroke and fill, and placed this as an anchored object in the main text box with the other fields. The problem is that the length of text in this field varies considerably, and I'd like the text to fit snugly within its box. Ideally this text box would not appear at all if the field is blank for a particular record.
I hope I've explained all of that clearly enough. Any ideas? -
How do I create a series of text frames using values from Excel list?
First of all, this is the very first script I'm attempting to write from scratch. I'm completely green at scripting, and I've picked up a few snippets from Adobe's ID scripting guide, but nothing has really stuck yet relating to this particular objective.
My supervisor keeps a master list of ad spaces, with the name of the account, how wide the space is, and how tall the space is, all in an Excel sheet. These spaces can number in the hundreds, and I am stuck manually drawing one rectangle for every space, which takes a very long time.
I'd like to create/have help creating a script that will take these values and "automagically" draw these spaces in the form of text frames, with the width (in columns) and the height (in inches) defined by the values in the master list, as well as the name of each account appearing in the subsequent text frames.
The script doesn't necessarily need to be able to pull the values straight from the Excel sheet; I can transfer the values to a support text file if needed, or directly into the script, changing it as I need it. A big thing (if it is not able to pull right from an Excel sheet) is that the number of spaces changes weekly, and so do the accounts, and the width and the height. Accordingly, it would be ideal if the values from the sheet could be changed easily, so as to create a new set of spaces as needed.
Positioning for each space is not crucial, only height and width. If they all appear on top of each other on the same page, that will be a result for me. The main idea is to not have to draw them all manually, one by one.
To me, this sounds like a tall order, but hopefully some experienced scripters out there can assist me, as I wish to become experienced as well.
So, the TL;DR version:
- Script needs to draw a series of text frames.
- Text frames dimensions need to be defined by width and height values from Excel sheet.
- Text frames must have account name as contents (from account names in Excel sheet).
- Accounts, width and height change every week in the Excel sheet, so must be relatively easy to exchange all of the values.
- The width values are on the Excel sheet as columns. It would be ideal if the script could convert those numbers into multiples of columns as needed.
- (Optional) Script can pull values directly from Excel sheet.
- (Optional) Script can define text frame fill color as gray. (If it works as I think it will, I could just select all the resulting text frames myself and set them all to gray at once... I'm not that lazy )
Thanks in advance to whomever can assist in any possible way, even if it is just a push in the right direction. This script will save 1-2 hours of tedium every week.Sound like the perfect thing for InDesign Scripting.
I would copy the Excel contents into a text file, to get a format that is easily read from InDesign, and there will automatically be a TAB for each "cell" just using copy/paste.
Here is a piece of code, that you perhaps could go on with (adding variable to change pages and location on page, and other stuff).
The readFileLineByLine function, can be easily re-used with any function using "callback". You simply supply the function to it, that you want to be executed for every line of text that is read:
const COLUMN_WIDTH = 2; // Define the column width in inch
var pageIndex;
var textFramesExported; // not implemented.
// Add a new dokument. Set myDoc to app.activeDocument to use
// the current document instead of creating a new one.
var myDoc = app.documents.add();
// The doSomethingWithTextRow function is called upon for every line of text read.
readFileLineByLine('c:\\test.txt', doSomethingWithTextRow);
function doSomethingWithTextRow(row){
// We expect the text line to be TAB separated (\t = TAB). We get that from just copying the contents of an
// excel file into a text document.
var cells = row.split('\t');
var companyName = cells[0]; // The Company name in the first slot of the array
var width = COLUMN_WIDTH * cells[1];
var height = cells[2];
// Create a new text frame for every row handled
if (pageIndex==undefined) pageIndex = 0; // Count up when you have exported a number of texts, I leave this for you to do.
var newTextFrame = myDoc.pages[pageIndex].textFrames.add();
newTextFrame.contents = companyName;
// The text frame is created in the top left corner.
newTextFrame.geometricBounds = [0, 0, height + ' in', width + ' in']; // Top, Left, Bottom, Right
// You might want to move the textframes to other positions, keeping track of how many you put out per page.
newTextFrame.move( [10, 10] );
function readFileLineByLine(path, callbackFn){
var myFileIn = new File(path);
if (File.fs == 'Windows'){
// This was probably added to recognize UTF-8 (even without its start marker?)
myFileIn.encoding = 'UTF-8';
myFileIn.open('r');
var myEncoding = myFileIn.encoding;
try{
if (!myFileIn.exists){
throw('Missing file: ' + myFileIn.fsName)
var ln = '';
while(!myFileIn.eof){
// Read the lines from the file, until an empty line is found [now as a remark].
ln = myFileIn.readln()
// if(ln !='' && ln!='\n'){
// Call the function supplied as argument
callbackFn(ln);
}catch(e){
alert(e);
gCancel = true;
finally{
myFileIn.close();
The file in C:\ in my example was saved as UTF-8 and looks like this (showing hidden characters):
Message was edited by: Andreas Jansson
Maybe you are looking for
-
AAMEE 3.1.105.0 generated packages run fine when pushed to Macs that do not have an existing previous version of CS. However, if pushed to a Mac that has CS4 installed, CS6 installs but Acrobat Pro X will not launch ("Internal error occurred"). We ar
-
Nmblookup? What's it all about, and should I let it allow connections?
I think I'm posting this in the right area... if not, apologies! Every so often, Leopards firewall wants to know if I want to let 'nmblookup' to allow incoming netowrk connections. I don't beleive this to be anything mysterious or bad - an internet s
-
Greetings: I've found searching at the net, that it is suggested "that the L&F (rather than the system) decorate all windows. This must be invoked before creating the JFrame. Native look and feels will ignore this hint". The command that does this is
-
I deleted itunes but can't delete Quicktime.It tells me : "Buffer overrun detected! Program:C:\Program Files\QuickTime\QuickTimePlayer.exe A buffer overrun has been detacted which has corrupted the program's internal state. The problem cannot safely
-
I have just installed CS5 and my option for installing actions is not showing up,....how do I install them?