ImgApp was updated to v1.3.3.
v1.3.3 (May 16, 2024) In SlidesAppp.gs, added a script for checking whether Drive API and Slides API are enabled. Ref You can see the detail information here https://github.com/tanaikech/ImgApp
Gists
This is a sample script for converting various images to PNG Format and JPEG format using Google Apps Script.
The flow of this sample script is as follows.
Convert the file to PNG format by the thumbnail link. Convert PNG format to JPEG format if outputFormat is “JPEG”. Create the image data in the JPEG format in the root folder as a file. Sample script Please set your file ID and output format.
Gists
This is a sample script for converting all pages in a PDF file to PNG images using Google Apps Script.
I have already published “Merging Multiple PDF Files as a Single PDF File using Google Apps Script”. In this post, it was found that pdf-lib can be used with Google Apps Script. From this, in this post, I would like to propose a sample script for converting all pages in a PDF file to PNG images using Google Apps Script.
Gists
This is a workaround for converting a Gmail message to a PNG image using Google Apps Script.
Sample script Please set the message ID of Gmail.
function myFunction() { var id = "###"; // Please set your message ID of Gmail. var message = GmailApp.getMessageById(id); var date = Utilities.formatDate( message.getDate(), Session.getScriptTimeZone(), "yyyy-MM-dd HH:mm:ss" ); var from = message.getFrom(); var to = message.
Javascript Library for Cropping Image by Border Overview This is a Javascript library for cropping images by the border.
Description When an image is used, there is a case where I wanted to simply crop the image by a script. In this Javascript library, the image is cropped by a border. The sample situation is as follows.
In this sample situation, a red rectangle is enclosed by a border (1 pixel) with “#000000”.
Gists
This is a sample script for reducing the image data size using Google Apps Script. You might have a situation where you might want to reduce the data size of image data using Google Apps Script. Here, using Google Apps Script, I would like to introduce a sample script for reducing the data size of the image data by reducing the image quality.
Limitations In the current stage, by the specification of Google side, there are the following limitations.
Gists
This is a report about images put with “=IMAGE(IMAGE_URL)” function on Google Spreadsheet.
Experiment When “=IMAGE(IMAGE_URL)” is put to a cell “A1” on Spreadsheet, the image is shown in the cell as shown in the following image.
For this situation, when the following script is run,
const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Sheet1"); const range = sheet.getRange("A1"); range.copyTo(range, { contentsOnly: true }); The following result is obtained. In this case, the formula is removed and an image can be seen as shown in the following image.
Gists
This is a sample script for creating the colorful buttons on Google Spreadsheet on Google Apps Script.
In order to achieve this, I have been looking for the method for creating the PNG image with the alpha channel using Google Apps Script. Recently, finally, I could find it. By this, the goal of this report got to be able to be achieved by the report of “Creating PNG Image with Alpha Channel using Google Apps Script”.
This is a sample script for creating a PNG image with the alpha channel using Google Apps Script.
The PNG image with the alpha channel is the image includes the transparent background. I have been looking for the method for creating such image using Google Apps Script. It is considered that when this will be achieved, it will be able to be used for various situations. For example, it is considered the following situations.
Gists
This is a sample script for plotting the points on an image using Google Apps Script.
Unfortunately, in the current stage, there are no methods for directly editing the image and putting the texts and some shapes in the methods for Google Apps Script. So in this case, it is required to use the workaround.
Fortunately, I have already published a report about “Inserting Text on Image using Google Apps Script” in my blog.
Gists
This is a sample script for inserting a text on an image using Google Apps Script.
Demo In this demonstration, “sample text” is inserted to the image. The image is from https://www.deviantart.com/k3-studio/art/Rainbow-painting-281090729.
Preparation When you use this script, please install the following 2 Google Apps Script libraries.
DocsServiceApp ImgApp And, please enable Slides API at Advanced Google services.
Flow The flow of this sample script is as follows.
ImgApp was updated to v1.3.0.
v1.3.0 (September 24, 2020) Added new method. Added editImage() This method is for editing images. In the current stage, the image can be cropped. And several images can be merged as an image. You can see the detail information here https://github.com/tanaikech/ImgApp
Another approach 10 Aug 2022: Report: Challenging Exporting Selected Cells on Spreadsheet as Image using Google Apps Script and Javascript
Old approach Gists
This is a sample script for converting a range in Google Spreadsheet as an image data using Google Apps Script. Unfortunately, there are no methods for directly converting the range in Google Spreadsheet as an image data in the built-in functions. So in this case, as a workaround, Charts Service is used.
Gists
This is a sample script for decoding a QR code put in Google Slides using Google Apps Script. In this case, Javascript is used at the opened dialog. And Canvas API and jsQR are used. So unfortunately, this method cannot be used with the time-driven trigger and the Google Apps Script project of the standalone type.
Of course, this method can be also used for Google Document and Google Spreadsheet.
Gists
This is a sample script for converting the SVG image data to PNG image data using Google Apps Script.
Unfortunately, in the current stage, there are no methods for directly converting the SVG to PNG in Google Drive service. But it can be achieved by Drive API. The sample script is as follows.
Before you use this, please enable Drive API at Advanced Google services.
Sample script function myFunction() { const svgFileId = "###"; // Please set the fileId of the SVG file.
ImgApp was updated to v1.2.2.
v1.2.2 (April 6, 2019)
By Google’s update, the error of “Malformed multipart body.” occurs. This error was resolved.
You can see the detail information here https://github.com/tanaikech/ImgApp
Gists
When an image is inserted to Google Docs (Spreadsheet, Document and Slides) using the method of insertImage using Google Apps Script, there is the case that the error occurs. The error messages are “server error” and “invalid image data”. Here, I would like to introduce the limitations for inserting images to Google Docs. As the result, it was found that the limitation is due to both the mimeTypes and the area of image rather than the file size.
ImgApp was updated to v1.2.1.
v1.2.1 (November 5, 2018)
Efficiency of each loop was enhanced by this benchmark.
You can see the detail information here https://github.com/tanaikech/ImgApp
Gists
This is a sample script for replacing text to image for Google Document using Google Apps Script (GAS). There is a method for replacing text to text at Class Text of DocumentApp. But there are not methods for replacing text to image. So I created this sample script.
Demo : This sample image was created by k3-studio.
Usage : replaceTextToImage(body, replaceText, image, width); body : body of document. You can set by DocumentApp.
Gists
Introduction Here I would like to introduce about the limitation of images for inserting to Spreadsheet using Google Apps Script (GAS). When you want to insert the images to Spreadsheet using GAS, insertImage() of class Sheet is usually used for this situation. At this time, an error sometimes occurs. This indicates that there is the limitation for inserting images to Spreadsheet. So I investigated the limitation.
As a result, it was found that the limitation depends on the image area (pixels^2) rather than the file size of it.
ImgApp was updated to v1.2.0. New method was added.
3. updateThumbnail() Overview This method is for updating thumbnail of files on Google Drive using images you selected.
Description For example, zip files don’t have the thumbnail on Google Drive. An icon is shown as the thumbnail. For the most files, Google Drive can create automatically each thumbnail. But there are sometimes files which cannot be created the thumbnail. Zip file is also one of them.
Gist
This is a sample script for retrieving images on Spreadsheet.
Unfortunately, there are no methods for retrieving directly images on spreadsheet using GAS. So I use the method which retrieves URL from =image(URL) and retrieves the image from the URL.
In this case, =image(URL) has to be in the cell. Images embedded by insertImage() cannot be retrieved.
At first, please confirm them.
Sample script : var cell = "A1"; // Cell address with the function of "=image()" var filename = "samplename"; // Output filename var image = SpreadsheetApp.
ImgApp was updated to v1.1.0. New method was added.
2. doResize() Overview This method is for resizing images.
Description Unfortunately, there are no methods to resize images at Google Apps Script. As a workaround, there is a method that it imports the image in Google Document and resizes the image using setWidth() and setHeight(). But in this method, the resized blob cannot be retrieved. So although I had thought of other workaround, I had not been able to find it.
1. getSize() Overview This method is for retrieving the width and height of image as the unit of pixel.
Description Unfortunately, there are no methods to directly retrieve the image size at Google Apps Script. As a workaround, there is a method that it imports the image in Google Document and retrieves the size using getWidth() and getHeight(). But in this method, it uses much time and resources on Google. So I thought of retrieving the information of image at the binary level, and created this.
Recently, I had been looking for creating an image from coordinate data. Unfortunately I have never found them. So I made this. This Google Apps Script (GAS) library creates an image file from coordinate data.
You can see the detail information at https://github.com/tanaikech/CreateImg.
There is a part where I would like to improve in this library. That’s convByteSlice(). I think that there is the method to be faster about the part.