Skip to content

Instantly share code, notes, and snippets.

Avatar

Yusuke S. UskeS

View GitHub Profile
@UskeS
UskeS / mm2inch.js
Created Mar 31, 2022
[JXA][Automator] 選択したmm単位表記テキストをinch単位に変換して置換する
View mm2inch.js
function run(input, parameters) {
var input = parseFloat(input[0]);
return (Math.round(input * 1000 / 254) / 100) + "";
}
@UskeS
UskeS / overrideUpperHalfMasterPageItems.jsx
Created Mar 15, 2022
[InDesign] ページ上半分のマスターページアイテムをオーバーライドするスクリプト
View overrideUpperHalfMasterPageItems.jsx
/**
* @fileoverview ページ上半分のマスターページアイテムをオーバーライドするスクリプト
* @author Yusuke SAEGUSA
* @version 0.0.1
*/
var myDoc = app.activeDocument;
var pag = myDoc.pages;
for (var i = 0, len = pag.length; i < len; i++) {
var halfHeight = (pag[i].bounds[2] - pag[i].bounds[0]) / 2; //ページの半分
@UskeS
UskeS / extractAnnots.js
Last active Feb 26, 2022
[Acrobat]コメントを抽出してテキストファイルに書き出すAcrobat用スクリプト
View extractAnnots.js
var result = [];
for (var i = 0; i < numPages; i++) {
var annot = getAnnots(i); // ページに含まれる注釈コメント
if (!annot) { continue; } // nullが返ることがあるのでFalsyなら飛ばす
for (var j = 0, lenAnnot = annot.length; j < lenAnnot; j++) {
var myAnnots = [];
myAnnots.push("p." + (annot[j].page + 1));
myAnnots.push(annot[j].contents.replace(/\r/g, "<br>"));
result.push(myAnnots.join("\t")); // 区切り文字
}
@UskeS
UskeS / AccessYahooAPISample.js
Last active Oct 24, 2021
Yahoo! テキスト解析APIへExtendScriptを利用してPOSTリクエストを送るサンプル(Mac版InDesign専用)
View AccessYahooAPISample.js
if (!String.prototype.surroundQuotes) {
String.prototype.surroundQuotes = function(q) {
return q + this + q;
}
}
var p = {
url: "https://jlp.yahooapis.jp/FuriganaService/V2/furigana",
header: {
contentType: "application/json",
userAgent: "Yahoo AppID: <アプリケーションID>", //ここにClientIDを記述
@UskeS
UskeS / toggleProofingType.js
Created Mar 25, 2021
[InDesign][ExtendScript] Toggle between "Dot Gain 15%" and "Working CMYK" for display proofing settings.
View toggleProofingType.js
/**
* @fileoverview Toggle between "Dot Gain 15%" and "Working CMYK" for display proofing settings.
* @author @Uske_S
* @version 0.1.0
*/
var actWin = app.activeWindow;
if (actWin.proofingType === ProofingType.CUSTOM) {
actWin.proofingType = ProofingType.WORKING_CMYK;
} else {
@UskeS
UskeS / BreakTextThread_mod.jsx
Created Feb 13, 2021
InDesign sample script - BreakTextThread.jsx - modified version. It also works fine on the frame grid.
View BreakTextThread_mod.jsx
//DESCRIPTION:Break text thread
/*
About Script
InDesign makes breaking of thread between text frames without otherwise changing the layout surprisingly difficult!
With this script, easily break the text thread
(a) between selected text frames
(b) between all frames in the selected story,
(c) throughout the document according to a selected paragraph style (great for dividing a long document into separate stories, one per chapter)
@UskeS
UskeS / disassemblyParenNum.jsx
Created Sep 16, 2020
[ExtendScript] [InDesign] 括弧数字を閉じたり開いたりするスクリプト
View disassemblyParenNum.jsx
/**
* 選択状態のバリデーション
*/
if (app.documents.length === 0) myError("NOT_OPENED_DOCUMENT");
if (app.documents[0].selection.length === 0) myError("INVALID_SELECTION");
/**
* メイン処理
*/
var doc = app.activeDocument;
@UskeS
UskeS / ISBNCheckDigit.jsx
Created Sep 3, 2020
[InDesign] [Illustrator] [ExtendScript] 選択したISBNコード/JANコード/雑誌コードのチェックディジットが正しいかどうかをチェックします
View ISBNCheckDigit.jsx
!function() {
if (app.documents.length === 0) {
return;
}
if (app.name === "Adobe InDesign" && app.activeDocument.selection.length === 1) {
var result = checkDigit(app.activeDocument.selection[0]);
if (result === null) {
return;
} else if (result === true) {
alert("正しいチェックディジットです");
@UskeS
UskeS / importMultiPDFPresets.jsx
Created Aug 13, 2020
[InDesign][ExtendScript]PDF書き出しプリセットをまとめて読み込むスクリプト
View importMultiPDFPresets.jsx
/**
* @fileoverview PDFプリセットの一括読み込み
* @author Yusuke SAEGUSA
* @version 0.0.1
*/
var tgtFolder = Folder.selectDialog("joboptionsファイルのあるフォルダを指定してください");
var presetFiles = tgtFolder.getFiles("*.joboptions");
for (var i=0; i<presetFiles.length; i++) {
@UskeS
UskeS / getNumberRange.js
Created Jul 31, 2020
記述範囲の数値をカンマ区切りで取得するJXA
View getNumberRange.js
/**
* Automatorの各設定
* ワークフローが受け取る項目:テキスト
* 検索対象:すべてのアプリケーション
* 選択されたテキストを出力で置き換える をオン
*/
function run(input, parameters) {
input = input[0].split(/ *-> */);
if (input.length !== 2) return;