Ejemplo n.º 1
0
        public void InsertImage(string docId, string imagePath)
        {
            var doc             = GetDoc(docId);
            var docElementCount = doc.InlineObjects.Count;
            //var docContentCount = doc.PositionedObjects?.Count ?? 0;
            //Console.WriteLine($"{docElementCount} / {docContentCount}");

            List <Request> requests = new List <Request>();

            var image = new InsertInlineImageRequest();

            image.Uri      = imagePath;
            image.Location = new Location()
            {
                Index = docElementCount + 1
            };
            //image.ObjectSize = new Size() { Width = new Dimension() { Magnitude = 10, Unit = "PT" } };



            var request = new Request()
            {
                InsertInlineImage = image
            };                                                         //, UpdateParagraphStyle = { ParagraphStyle = { Alignment="CENTER" } } };

            requests.Add(request);

            BatchUpdateDocumentRequest body = new BatchUpdateDocumentRequest();

            body.Requests = requests;

            BatchUpdateDocumentResponse response = this.service.Documents.BatchUpdate(body, docId).Execute();
        }
Ejemplo n.º 2
0
        private void DeleteAllContent(List <Request> requests, Document doc, DocsService service, string documentId)
        {
            DeleteContentRangeRequest deleteContentRangeRequest = new DeleteContentRangeRequest();

            Google.Apis.Docs.v1.Data.Range range = new Google.Apis.Docs.v1.Data.Range();
            range.StartIndex = 1;
            range.EndIndex   = 1000000000;

            deleteContentRangeRequest.Range = range;

            Request request = new Request();

            request.DeleteContentRange = deleteContentRangeRequest;

            try {
                BatchUpdateDocumentRequest tryBody = new BatchUpdateDocumentRequest();

                tryBody.Requests = new List <Request> {
                    request
                };
                DocumentsResource.BatchUpdateRequest tryUpdateRequest = service.Documents.BatchUpdate(tryBody, documentId);

                BatchUpdateDocumentResponse tryResponse = tryUpdateRequest.Execute();
            } catch (Exception e) {
                string[] responseData = e.Message.Split("must be less than the end index of the referenced segment, ");
                responseData = responseData[1].Split(".");

                range.EndIndex = Int32.Parse(responseData[0]) - 1;

                if (range.EndIndex - range.StartIndex != 0)
                {
                    deleteContentRangeRequest.Range = range;

                    request = new Request();
                    request.DeleteContentRange = deleteContentRangeRequest;
                    requests.Add(request);
                }
            }
        }