Ejecute el siguiente código para poner texto en su portapapeles:
set testString to "This string should be plain text."
set the clipboard to testString
Si abre un nuevo archivo .rtf en TextEdit.app y pega el portapapeles en este documento, observará que el portapapeles contiene texto enriquecido. Específicamente, el texto del portapapeles tiene la fuente Helvetica
y el tamaño 12
.
También intenté especificar set the clipboard to (testString as string)
o set the clipboard to (testString as text)
. Pero, el código siempre pone texto enriquecido en el portapapeles. Este texto enriquecido es siempre del mismo estilo (como se describe en el párrafo anterior).
¿Es posible poner texto en el portapapeles, como texto sin formato, en AppleScript?
OS X El Capitán, versión 10.11.6.
Tal vez copiar el texto en el Pasteboard usando Cocoa-AppleScript solo configurará el texto sin formato para pegarlo en el documento RTF.
De lo contrario, utilice lo siguiente como solución alternativa:
set testString to "This string should be plain text." as string
do shell script "pbcopy <<<" & quoted form of testString
El método de solución mencionado anteriormente agrega un linefeed
después testString
al Portapapeles y, si ese es un comportamiento no deseado, use:
set testString to "This string should be plain text." as string
do shell script "printf " & the quoted form of testString & " | pbcopy"
La otra opción es usar Pegar y hacer coincidir el estilo ⌥⇧⌘V en lugar de Pegar ⌘V para hacer coincidir lo que hay en el punto de inserción.
testString
contiene un guión largo (-) o un guión corto (-), estos caracteres de guión se convierten en mojibake. Con respecto a su sugerencia final, el problema con "Pegar y combinar estilo" es que este comando no está incluido en todas las aplicaciones.replace_chars
declaración para dar cuenta de este error.Esto debería funcionar:
set the clipboard to string of (the clipboard as record)
De hecho, puede probarlo con seguridad usando una declaración de prueba:
try
set the clipboard to string of (the clipboard as record)
on error errMsg
display dialog errMsg
end try
Parece que no importa lo que haga, si tiene texto sin formato seleccionado en la pestaña de su nuevo documento en sus preferencias de edición de texto, su portapapeles pegará texto sin formato. Sin embargo, si tiene habilitado el texto enriquecido, parece que todo se pegará como texto enriquecido en un documento rtf.
También intenté seleccionar el texto en el documento RTF e intenté convertirlo a texto sin formato en el menú de formato. Apareció una ventana de diálogo que decía que el documento se convertiría de RTF a texto sin formato si elegía formatear el texto
Mockman