Google Slides API를 사용하면 슬라이드의 위치, 크기, 방향을
PageElement
(텍스트 상자, 이미지, 표, 기본 도형)를 페이지에 추가하고
직선과 보존되는 점과 평행선을 사용합니다. 이를 아핀이라고 하며
변환을 참조하세요. 이 예에서는 일반적인 페이지 요소 변환을 보여줍니다.
인코더-디코더 아키텍처를
presentations.batchUpdate
메서드를 사용하여 축소하도록 요청합니다.
이 예에서는 다음 변수를 사용합니다.
- PRESENTATION_ID: 프레젠테이션 ID를 입력합니다. 다음과 같은 작업을 할 수 있습니다. 이 ID에 대한 값을 검색합니다.
- PAGE_ID: 페이지 객체를 제공하는 위치를 나타냅니다. ID를 입력합니다. 다음을 가져올 수 있습니다. 이 값에 대한 값을 URL에서 가져오거나 API 읽기 요청을 사용하여 가져올 수 있습니다.
- PAGE_ELEMENT_ID: 페이지를 제공하는 위치를 나타냅니다. 요소 객체 ID를 포함해야 합니다. 나 만든 요소에 대해 이 ID를 지정할 수 있습니다 (일부 제한사항) Slides API에서 자동으로 만들도록 허용할 수 있습니다. 요소 ID API 읽기 요청을 통해 가져올 수 있습니다.
이 예는 언어 중립을 위해 HTTP 요청으로 제공됩니다. 배우기 위해 Google API를 사용하여 다양한 언어로 일괄 업데이트를 구현하는 방법 자세한 내용은 도형 추가 및 텍스트를 입력합니다.
화살표 도형 예
아래 예에서는 화살표 도형 페이지 예가 있다고 가정합니다.
요소의 전체 크기 및 변환 데이터(
presentations.pages.get
메서드 요청에서). 예시 도형은
unit
EMU (영어 미터법 단위) 및 pt
(점).
{ "objectId": PAGE_ELEMENT_ID, "size": { "width": { "magnitude": 3000000, "unit": "EMU" }, "height": { "magnitude": 3000000, "unit": "EMU" } }, "transform": { "scaleX": 0.3, "scaleY": 0.12, "shearX": 0, "shearY": 0, "translateX": 2000000, "translateY": 550000, "unit": "EMU" }, "shape": { "shapeType": "RIGHT_ARROW" } }
요소를 다른 요소와 정렬
다음
presentations.batchUpdate
코드 샘플을 사용하여
CreateShapeRequest
메서드를 사용하여 도형의 도형에 정렬된 올바른 위치에 새 도형을 만듭니다.
예시 화살표 모양을 클릭합니다. 두 경우 모두 X와 Y는
새 도형 왼쪽 상단 모서리의 좌표를 계산해야 합니다.
첫 번째 요청은 왼쪽으로 정렬된 100x50포인트 직사각형을 만듭니다. 50pt (50 * 12,700 = 635,000 EMU)에 배치되어 있습니다. 을 클릭합니다. 새 직사각형의 X 좌표는 왼쪽 테두리의 정렬 상태를 유지하기 위해 화살표의 X 좌표와 동일합니다. Y 좌표는 화살표의 Y 좌표에 50pt를 더한 것과 같습니다. 거리는 화살표 상단부터 측정됩니다. 직사각형의 좌표는 다음과 같습니다.
x" = 2000000 EMU y" = 550000 + (50 * 12700) = 1185000 EMU
두 번째 요청은 가로와 세로가 동일한 40포인트 너비의 원을 만듭니다. 중앙선에 적힌 화살표가 사용되나 화살표의 오른쪽 가장자리 오른쪽에 있습니다. 원의 X 좌표는 화살표 너비 및 100포인트를 설정할 수 있습니다. 중심선 적용 새 원에 대한 정렬을 위해서는 선의 높이를 고려해야 하며 화살표와 동그라미입니다. 원의 Y 좌표는 화살표의 Y 좌표입니다. 화살표 높이의 절반에서 원 높이의 절반을 뺀 값입니다. 두 경우 모두 화살표와 관련된 배율도 고려해야 합니다. 이는 화살표의 렌더링된 너비와 높이에 영향을 주기 때문입니다. 원의 좌표는 다음과 같습니다.
x = 2000000 + (0.3 * 3000000) + (100 * 12700) = 4170000 EMU y = 550000 + (0.5 * 0.12 * 3000000) - (0.5 * 40 * 12700) = 476000 EMU
다음은 요소를 다른 요소와 정렬하는 요청 프로토콜입니다.
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "createShape": { "shapeType": "RECTANGLE", "elementProperties": { "pageObjectId": PAGE_ID, "size": { "width": { "magnitude": 100, "unit": "PT" }, "height": { "magnitude": 50, "unit": "PT" } }, "transform": { "scaleX": 1, "scaleY": 1, "translateX": 2000000, "translateY": 1185000, "unit": "EMU" } } } }, { "createShape": { "shapeType": "ELLIPSE", "elementProperties": { "pageObjectId": PAGE_ID, "size": { "width": { "magnitude": 40, "unit": "PT" }, "height": { "magnitude": 40, "unit": "PT" } }, "transform": { "scaleX": 1, "scaleY": 1, "translateX": 4170000, "translateY": 476000, "unit": "EMU" } } } } ] }
요소 이동
다음
presentations.batchUpdate
코드 샘플을 사용하여
UpdatePageElementTransformRequest
예시 화살표 도형 페이지 요소를
두 가지 다른 방법입니다
일괄 처리의 첫 번째 요청은 화살표를 (X,Y) = (2000000, 150000)으로 이동합니다.
EMU 좌표 (절대 변환 사용
applyMode
)을 클릭합니다.
일괄 처리의 두 번째 요청은 화살표를 그곳에서 이동합니다. 이번에는 40,000EMU입니다.
위로 35,000 EMU (상대 변환 applyMode
사용)
이때 사용한 transformation1 행렬은
요소의 크기와 방향이 변경되지 않도록 구성됩니다.
두 요청을 모두 실행한 후 화살표의 왼쪽 상단 모서리는 (X, Y)에 위치합니다. = (2040000, 115000) EMU 좌표입니다.
다음은 요소를 이동하는 요청 프로토콜입니다.
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "updatePageElementTransform": { "objectId": PAGE_ELEMENT_ID, "applyMode": "ABSOLUTE", "transform": { "scaleX": 0.3, "scaleY": 0.12, "translateX": 2000000, "translateY": 150000, "unit": "EMU" } } }, { "updatePageElementTransform": { "objectId": PAGE_ELEMENT_ID, "applyMode": "RELATIVE", "transform": { "scaleX": 1, "scaleY": 1, "translateX": 40000, "translateY": -35000, "unit": "EMU" } } } ] }
요소 반영
다음
presentations.batchUpdate
코드 샘플을 사용하여
UpdatePageElementTransformRequest
예시 화살표 도형 페이지 요소를 반영하는 메서드
페이지 내 위치를 변경하거나 가운데를
확장할 수 있습니다
이 작업은 기본 반사
변환(요소의 참조)
프레임을 지정합니다. 명확하게 하기 위해
참조 프레임 이동 및 반사는 세 가지 개별 호출로
UpdatePageElementTransformRequest
메서드
이러한 변환의 곱을 미리 계산하는 것이 더 효율적입니다.
그런 다음 해당 제품을 단일 요청으로 적용합니다.
translation 변환의 경우 도형의 중심이 원점 안팎으로 이동합니다. 매개변수 값 명확성을 위해 계산으로 표현됩니다.
다음은 요소를 반영하는 요청 프로토콜입니다.
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "updatePageElementTransform": { "objectId": PAGE_ELEMENT_ID, "applyMode": "RELATIVE", "transform": { "scaleX": 1, "scaleY": 1, "translateX": -2000000 - 0.5 * 0.3 * 3000000, "translateY": -550000 - 0.5 * 0.12 * 3000000, "unit": "EMU" } } }, { "updatePageElementTransform": { "objectId": PAGE_ELEMENT_ID, "applyMode": "RELATIVE", "transform": { "scaleX": -1, "scaleY": 1, "unit": "EMU" } } }, { "updatePageElementTransform": { "objectId": PAGE_ELEMENT_ID, "applyMode": "RELATIVE", "transform": { "scaleX": 1, "scaleY": 1, "translateX": 2000000 + 0.5 * 0.3 * 3000000, "translateY": 550000 + 0.5 * 0.12 * 3000000, "unit": "EMU" } } } ] }
요소 크기 조절
다음
presentations.batchUpdate
코드 샘플을 사용하여
UpdatePageElementTransformRequest
예시 화살표 도형 페이지 요소를 50%로 조정하는 메서드
화살표의 중심을 유지하면서 더 넓고 현재 높이의 80% 에 불과합니다.
같은 위치에 배치하고 방향을 유지하는 것이 좋습니다.
이렇게 하려면 기본 확장
변환(요소의 참조)
프레임을 지정합니다. 명확하게 하기 위해
참조 프레임 이동 및 배율은
UpdatePageElementTransformRequest
메서드
이러한 변환의 곱을 미리 계산하는 것이 더 효율적입니다.
그런 다음 해당 제품을 단일 요청으로 적용합니다.
translation 변환의 경우 도형의 중심이 원점 안팎으로 이동합니다. 매개변수 값 명확성을 위해 계산으로 표현됩니다.
다음은 요소의 크기를 조절하는 요청 프로토콜입니다.
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "updatePageElementTransform": { "objectId": PAGE_ELEMENT_ID, "applyMode": "RELATIVE", "transform": { "scaleX": 1, "scaleY": 1, "translateX": -2000000 - 0.5 * 0.3 * 3000000, "translateY": -550000 - 0.5 * 0.12 * 3000000, "unit": "EMU" } } }, { "updatePageElementTransform": { "objectId": PAGE_ELEMENT_ID, "applyMode": "RELATIVE", "transform": { "scaleX": 1.5, "scaleY": 0.8, "unit": "EMU" } } }, { "updatePageElementTransform": { "objectId": PAGE_ELEMENT_ID, "applyMode": "RELATIVE", "transform": { "scaleX": 1, "scaleY": 1, "translateX": 2000000 + 0.5 * 0.3 * 3000000, "translateY": 550000 + 0.5 * 0.12 * 3000000, "unit": "EMU" } } } ] }
중심을 기준으로 요소 회전
다음
presentations.batchUpdate
코드 샘플을 사용하여
UpdatePageElementTransformRequest
예시 화살표 도형 페이지 요소 35를 회전하는 메서드
화살표의 중심을 같은 위치로 유지하면서 시계 반대 방향으로 각도를 돌립니다.
크기를 유지할 수 있습니다
이렇게 하려면 기본 순환게재
변환(요소의 참조)
프레임을 지정합니다. 명확하게 하기 위해
참조 프레임 이동 및 회전이
UpdatePageElementTransformRequest
메서드
이러한 변환의 곱을 미리 계산하는 것이 더 효율적입니다.
행렬을 만든 다음 해당 제품을 단일 요청으로
translation 변환의 경우 도형의 중심이 원점 안팎으로 이동합니다. 매개변수 값 명확성을 위해 계산으로 표현됩니다.
다음은 요소를 중심을 기준으로 회전하는 요청 프로토콜입니다.
POST https://slides.googleapis.com/v1/presentations/PRESENTATION_ID:batchUpdate
{ "requests": [ { "updatePageElementTransform": { "objectId": PAGE_ELEMENT_ID, "applyMode": "RELATIVE", "transform": { "scaleX": 1, "scaleY": 1, "translateX": -2000000 - 0.5 * 0.3 * 3000000, "translateY": -550000 - 0.5 * 0.12 * 3000000, "unit": "EMU" } } }, { "updatePageElementTransform": { "objectId": PAGE_ELEMENT_ID, "applyMode": "RELATIVE", "transform": { "scaleX": cos(35 * (pi/180)), "scaleY": cos(35 * (pi/180)), "shearX": sin(35 * (pi/180)), "shearY": -sin(35 * (pi/180)), "unit": "EMU" } } }, { "updatePageElementTransform": { "objectId": PAGE_ELEMENT_ID, "applyMode": "RELATIVE", "transform": { "scaleX": 1, "scaleY": 1, "translateX": 2000000 + 0.5 * 0.3 * 3000000, "translateY": 550000 + 0.5 * 0.12 * 3000000, "unit": "EMU" } } } ] }