Làm thế nào để phù hợp với kích thước hộp văn bản cho văn bản?


19

Tôi muốn điều chỉnh artboard cho nghệ thuật đã chọn (hai hộp văn bản) - các hộp văn bản lớn hơn văn bản bên trong chúng - làm thế nào để tôi khớp (thu nhỏ) chúng để quấn chặt quanh văn bản của tôi?

Phiên bản minh họa - CS5

Câu trả lời:


9

Illustrator không (kể từ 5.1) có tính năng "khung phù hợp với nội dung" tiện dụng như InDesign. Chỉ cần chọn khung văn bản và kéo tay cầm vào trong cho đến khi khung được khớp với văn bản.


15

Đây hiện là một tính năng tích hợp kể từ năm 2014 trong Adobe Illustrator CC. Bạn sẽ tìm thấy nó trong Loại> Tùy chọn Loại Khu vực> Kích thước tự động.


Trong CC19 tôi không thấy tùy chọn này. Nó đã di chuyển chưa? @Matt M.
FabricioG

9

Có một kịch bản cho điều đó. (đây có lẽ là kịch bản bình luận của Joonas ám chỉ - hoạt động tốt trong CS6).

(để sau đó lắp bảng nghệ thuật sau khi lắp hộp văn bản, sử dụng công cụ bảng nghệ thuật và nhấp vào hộp văn bản)

Phép lịch sự của Bản đồ Kelso có vô số tập lệnh tuyệt vời (tập lệnh của chúng để chuyển đổi văn bản điểm và khu vực cũng rất được khuyến khích), bạn có thể tải xuống tập lệnh Fit Text To Content tại đây . Nó thực hiện chính xác những gì nó nói trên hộp thiếc - tỷ lệ (lên hoặc xuống) khung văn bản của vùng văn bản để vừa với chiều cao của các dòng văn bản.

Đây là 'trước' và 'sau' của tập lệnh này, cộng với người anh em họ cũng từ Bản đồ Kelso, Chỉnh sửa văn bản theo chiều rộng nội dung , thay đổi kích thước khung văn bản để xóa không gian không sử dụng (pic lịch sự của vectips ):

nhập mô tả hình ảnh ở đây

Dưới đây là tz codez trong trường hợp liên kết đi xuống. Tất cả tín dụng cho tác giả gốc. Chỉ cần lưu nó dưới dạng tệp .js trong illustrator/presets/[some language code]/scriptsthư mục của bạn sau đó khởi động lại Illustrator:

// FitToTextContent_Depth
// Nathaniel Vaughn KELSO
// Last modified: 2008.March.29
// Created: 2007.July.8 
// at Hyattsville, MD
// Version 2
// (c) nvkelso2008@gmail.com (but remove the 2008 bit)
// DESC: Fits the text frame (rectangular path shapes only!) to fit the text content. 
// DESC: Will either shrink or expand the depth of the text box as appropriate. 
// TODO: Extend to work with text on a line (PATHTEXT)
// TODO: watch for 4 point paths that are not rectangular
// TODO: watch for 4 point paths that are rotated

var includeExtraLines = 0.5;

if(documents.length > 0) {
    doc = activeDocument;
    mySelection = activeDocument.selection;

    // If there are enough to process
    if (mySelection instanceof Array)
    {
        // For each of the selected items
        for(i=0; i<mySelection.length; i++) {
            // That are textFrames
            if (mySelection[i].typename == "TextFrame" && mySelection[i].kind == TextType.AREATEXT ) {
                obj = mySelection[i];

                // We only want to do this on rectangular text areas
                // TODO: Take care of rotation issues from MakePointType script
                if( obj.textPath.pathPoints.length == 4 ) {
                    objTop = obj.top;
                    objLeft = obj.left;

                    // Make the new point type object and locate it
                    // Make sure the new object is in the same Z stacking order as the original
                    copy1 = obj.duplicate(obj, ElementPlacement.PLACEBEFORE);
                    //copy1.move(obj, ElementPlacement.PLACEBEFORE);

                    // now make the text box much bigger, but not absurdly big
                    // TODO: This could be better approximated by itterating thru all the WORDS in the textFrame and 
                    // comparing it to all the WORDS in each of the visible text LINES. Then apply the difference / total words to the scaling
                    if( copy1.height * 10 < 2000 ) {
                        copy1.textPath.height = copy1.height * 10;
                    } else {
                        copy1.textPath.height = 2000;
                    }

                    howManyLines = copy1.lines.length;

                    outlineObject = copy1.duplicate();
                    outlineObject = outlineObject.createOutline();

                    targetHeight = outlineObject.height + includeExtraLines * (outlineObject.height / howManyLines );

                    // Now assign y-axis depth of the point text to the area text box
                    rect = obj.parent.pathItems.rectangle(copy1.textPath.top, copy1.textPath.left, obj.width, targetHeight);
                    copy2 = obj.parent.textFrames.areaText(rect);
                    copy2.selected = true;
                    rect.selected = true;

                    // Always delete these intermediate objects
                    outlineObject.remove();
                    copy1.remove();

                    // Now take care of the end and original objects
                    obj.textRange.duplicate(copy2); 
                    obj.remove();   
                }
            }
        }
    }
}

Tôi cài đặt cái này ở đâu trên Mac OS X?
Alec Jacobson
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.