Тёмный
Google Developer Communities North America
Google Developer Communities North America
Google Developer Communities North America
Подписаться
The Google Developers North America features talks from events, workshops and trainings, as well as updates from our developer communities including Google Developers Groups (GDG), Google Developer Experts (GDE), Women Techmakers (WTM), and Google Developer Student Clubs (GDSC).

This is a community based channel. Join us, support us, speak, and train with us!

Learn more about these developer community programs: developers.google.com/community
How To Be A Tech Consultant | gTech Team
1:41:53
14 дней назад
Addressing Burnout in Tech | Naveen VK
14:37
14 дней назад
AI - Built by Open-source
32:56
10 месяцев назад
NA Connect Recap Video 2022
1:06
Год назад
Комментарии
@kcvideousa
@kcvideousa 18 дней назад
My 10 times watching this.
@elouafdiahmed5068
@elouafdiahmed5068 18 дней назад
Thank you so much, very useful
@kcvideousa
@kcvideousa 19 дней назад
You are the best
@urimtefiki226
@urimtefiki226 Месяц назад
LLM are not needed for the factories, because they will be specialized only for specific purposes.
@learnwithameet310
@learnwithameet310 2 месяца назад
Where is certificate
@rendeali
@rendeali 2 месяца назад
How about more resources on Gemini Code development and code assist?
@BurritoBrooks
@BurritoBrooks 4 месяца назад
That was awesome! Didn’t even know this was possible. Thanks!
@Zegot1234
@Zegot1234 4 месяца назад
If your headers have long names with none-alphabetical characters such as "Name (Last, First)" then the "body.replaceText(`{$header1{{`,row[i]);" will fail because replaceText is using regular expressions to search. Solution is to convert the search string using a function that adds escape characters such as the following: function escapeRegExp(text) { return text.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, '\\$&'); } For example in my version I changed the "body.replaceText(`{$header1{{`,row[i]);" to be the following: const searchHeaderOriginal = '{'+header1+'}'; const searchHeader = escapeRegExp(searchHeaderOriginal); body.replaceText(searchHeader,row[i]); There may be an easier way to do this but this is what I found after researching.
@gegklungkung
@gegklungkung 5 месяцев назад
where is the pdf file, i try your code. No found error but pdf not create on folder. please other tutorial create pdf only from sheet data.
@Trackdaygenius
@Trackdaygenius 6 месяцев назад
This is a Life saver! One question, if I remove the email function will the if(row[0] == ‘’){ function still work, to check if the date column is empty? As i need the ability do select certain rows to generate the pdf, I have 120 rows, I don’t need all of them to be generated…
@ANDREWGEN_
@ANDREWGEN_ 7 месяцев назад
I've been working on this for a few months now. I stumbled upon your videos a few months back, Had no clue what gibberish you were speaking! Now it all makes sense. Chat gpt gets all the credit. I've been working on an army of scripts that serve as a client onboarding, client data management and client scheduler, thats 100% automated and operated with a spreadsheet dashboard. Its absolutely nuts and I've been able to increase my client workload noticeably simply because I have more mental space and can keep track of more clients simply and easily.
@RobKraut
@RobKraut 8 месяцев назад
This was awesome! Thank you! One question: I have URLs to images on my google sheet as well. Is there a way to embed the image into the Google Doc template with this method?
@derekdimmick8666
@derekdimmick8666 9 месяцев назад
I have a sheet with a table already on it that is updated from info from other sheets all inside one sheet. Hopefully you follow. I want google sheets to automatically just make that one sheet a pdf and save it to my google drive. So probably half of what this script is doing. How can I accomplish that?
@BraveHeart-ht8zf
@BraveHeart-ht8zf 9 месяцев назад
How if I want sent automation email contains pdf tables with different emails every 12 hours
@justynapolitanska-pyszko1370
@justynapolitanska-pyszko1370 10 месяцев назад
Alice, I love your talk about Duet AI!
@myskillvill
@myskillvill 10 месяцев назад
Yes ! AI for the future work & learning.
@sdssloba
@sdssloba 10 месяцев назад
I didn't get from this video what is Visual Density!
@explex
@explex 2 месяца назад
AspectRatio: Define using width-to-height ratios (e.g., 16:9). Adjusts either width or height to maintain the specified aspect ratio based on available space. VisualDensity: Modifies the density of UI elements, making touch targets larger and more accessible. Can be injected programmatically to propagate throughout the application’s theme.
@narindersingh10
@narindersingh10 11 месяцев назад
Excellent.. thanks
@Hollyfilly
@Hollyfilly 11 месяцев назад
Amazing!! Thank you!!
@andrewdunbar828
@andrewdunbar828 11 месяцев назад
verboseness verbosity
@adrianstoll2807
@adrianstoll2807 11 месяцев назад
The world map in the background is upside down relative to conventional maps.
@DeepakKumar2105
@DeepakKumar2105 11 месяцев назад
Hi Ma'am, can we integrate puppeteer with selenium Java.? Can you please help me.
@brunoserman78
@brunoserman78 11 месяцев назад
Great video, Lawrence, thank you very much! Would you be able to make a copy of the code available to us, please?
@AhmedThahir2002
@AhmedThahir2002 6 дней назад
Any updates?
@mandre2390
@mandre2390 Год назад
Is there a way of running the puppeteer script and running Lighthouse in snapshot mode (without reloading the site after puppeteer script is run)?
@mpsychservices1325
@mpsychservices1325 Год назад
Hi can, you make a content that encrypts the pdf with a password. Thank you
@j2shoes288
@j2shoes288 Год назад
Your English isn't very clear.
@anja6554
@anja6554 Год назад
*promo sm* 👊
@mathewforsyth1006
@mathewforsyth1006 Год назад
Thanks so much. This tutorial really helped me generate invoices from raw data for my wife. Super clear. I put the playback speed to 0.75 and typed out most of your material. I did not need the email functionality and added "file.setTrashed(true);" to remove the doc files, earlier in the script. Here is my code to help anyone who wants to cut, paste, and play around from here. Thanks again! // This code was taken from this RU-vid tutorial: // Unlock the Secrets of PDF Generation with Google Apps Script // ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-0sxyB4kUKdY.html const SHEETID = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'; const DOCID = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'; const FOLDERID = 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'; function onOpen(){ SpreadsheetApp.getUi() .createMenu('Generate Invoices Workflow') .addItem('Manually Add Month Folder/ Import New Data','xxxx') .addItem('Generate PDF Invoices','sender') .addToUi(); } function sender () { const sheet = SpreadsheetApp.openById(SHEETID).getSheetByName('InvoiceData'); const InvoiceData = sheet.getDataRange().getValues(); const rows = InvoiceData.slice(1); // Logger.log(rows); const temp = DriveApp.getFileById(DOCID); const folder = DriveApp.getFolderById(FOLDERID); //Loop through each spreadsheet row, and for each row, create a new temp document in your drive folder rows.forEach((row,index)=>{ const file = temp.makeCopy(folder); const doc = DocumentApp.openById(file.getId()); const body = doc.getBody(); //Loop through the spreadsheets heading values and populate those values into the temp document InvoiceData[0].forEach((heading,i)=>{ const header1 = heading.toUpperCase(); body.replaceText(`{${header1}}`,row[i]); }) //Set a name for each document using x, y from the data doc.setName('INV-'+row[0]+' '+row[2]+'.doc'); const blob = doc.getAs(MimeType.PDF); doc.saveAndClose(); const pdf = folder.createFile(blob).setName('INV-'+row[0]+' '+row[2]+'.pdf'); //The followinng code removes the temp doc file, leaving just the PDF files. file.setTrashed(true); //TESTING // console.log(header1); //TESTING }) }
@mathewforsyth1006
@mathewforsyth1006 Год назад
@jimrockford1283 You could try creating a test Google Slide file, saving this as a Google Doc file, adding the variables to this as per this tutorial, and then recreating the Google Slide file instead of the PDF in the original script?
@Trackdaygenius
@Trackdaygenius 6 месяцев назад
Life saver, thanks for the pasted code. One question, how do select certain rows to generate the pdf, I have 120 rows, I don’t need all of them to be generated…
@mathewforsyth1006
@mathewforsyth1006 6 месяцев назад
@@Trackdaygenius add dates (or what the var is) to the rows you don't want.
@Trackdaygenius
@Trackdaygenius 6 месяцев назад
it kind of makes sense, I'm a copy and paste expert :) I've just started this Google sheets journey 2 weeks ago...@@mathewforsyth1006
@user-mu4ze2zh8y
@user-mu4ze2zh8y Год назад
I wish you would show the code fully to help us debug easily.
@mathewforsyth1006
@mathewforsyth1006 Год назад
I pasted my code above in a comment. It does not include the email function, but it will save you a bit of time, if you've not already typed it out ;)
@ciceropontes7732
@ciceropontes7732 Год назад
Beautifully done! I'm working with some dates and times. When I get the dates or times, they come in the format like Sat Apr 29 2023 02:00:00 GMT-0400 (Eastern Daylight Time). How can I do in order to get (and show in the pdf generated) just 4/29/23 format for dates and 11:30 PM format for time? tks.
@relliklaires9368
@relliklaires9368 Год назад
These are not public speakers. These are interns taking part in a program that the bigwigs hand out for pennies on the dollar to make it seem like they give a shit about women.
@calahjah
@calahjah Год назад
file:///var/mobile/Library/SMS/Attachments/54/04/E46A5908-6DE8-4D8E-82E8-7C609B31377C/image000000.jpg Please work with this organazion file:///var/mobile/Library/SMS/Attachments/54/04/E46A5908-6DE8-4D8E-82E8-7C609B31377C/image000000.jpg
@bobbybrooks4826
@bobbybrooks4826 Год назад
Bullllllshstttt
@danielpaes6457
@danielpaes6457 Год назад
how to preview a pdf file for the user to choose whether to print or save to the computer? I'm trying but without success!
@user-sc1eo1sn9y
@user-sc1eo1sn9y Год назад
ola boa noite aonde esta o arquivo php ? onde eu encontro ?
@youssefbelhoussein1205
@youssefbelhoussein1205 Год назад
👍
@victorbjorklund-jawdropping
Wtf why this music? Makes it way harder to follow.
@LightTheLampLLC
@LightTheLampLLC Год назад
Great Video! Quick Question, how do you take the value of the spreadsheet classified as dollars/currency/accounting and apply it to the word document to transfer over as same $ format? This video has been beneficial and got everything working except the formatting of the numbers. Example: In excel sheet $240,000.00 but generated in word document --> 240000 and transferred into the PDF same as the word. Do you have any suggestions on that? Thank you again for your time!
@LaurenceSvekisCourses
@LaurenceSvekisCourses Год назад
have you tried setting the type in Google sheets before export.
@scotttauriello250
@scotttauriello250 Год назад
@@LaurenceSvekisCourses Yes, I have tested all types in google sheets to see if it's impacted and it is not. The numbers do not generate over as same format as currency or finance. I have also tried to set the word template as well with the incorrect results. Any other suggestions? I have looked online and it seems no one has tried using $ numbers to transfer only whole numbers.
@ashfaqashraf7700
@ashfaqashraf7700 9 месяцев назад
Try typing the replacers in doc this way ${price}
@iprsa
@iprsa Год назад
Thank you very much. It it a realy great video and code. Is it posible, to replace an old pdf file with a new one in app script. I have link to pdf file in Google Drive, posted on internet, I just want to create a new pdf file and update the old one to remaine the same link.
@LaurenceSvekisCourses
@LaurenceSvekisCourses Год назад
You can create a new PDF with the same name, while deleting the old file if you need the same path.
@rajeevp
@rajeevp Год назад
The background music is so irritating ..
@InternetRando42
@InternetRando42 Год назад
I’m just starting out with coding, so I can’t judge the quality of your advice. However, as far as the video production, your background music is so loud compared to your voice that I have real difficulty understanding what you say. Would you consider re-releasing this video with a quieter background, or even none at all?
@melisadebartolo2850
@melisadebartolo2850 9 месяцев назад
The music is unbearable! It's simply torture.
@TonyJohnson-yy1lu
@TonyJohnson-yy1lu Год назад
Excelent tutorial - thank you. All works as per the video except I dont get the option 'Enter verification code' back to the console and therefore cant proceed. Have you seen this before?
@immi1498
@immi1498 Год назад
Link plz?
@MarcusRamberg-iz3oy
@MarcusRamberg-iz3oy Год назад
What if I want to have both observability and get rid of kube-proxy? Not covered?
@toenytv7946
@toenytv7946 Год назад
Considering attending a GDG group meeting. This is right up my alley. Thank you it helped get me updated with what GDG and this helped solidify the choice. Thank you
@AnInterestedObserver
@AnInterestedObserver Год назад
Awful music over voice. Why have it. The speaker has a strong accent which is difficult to understand and then this loud, inappropriate music over the top. Whoever produced this video, whoever signed it off hasn't a clue, they are clearly not up to the job and should be sacked. This video is unwatchable. Totally unwatchable. I need this information but this music is unbearable, to whoever thought music over voice was a good idea, you shouldn't be in the job of editing and producing video, you are hopeless. I'll have to find this information somewhere else. You shouldn't have your job, you're no good at it.
@mishuman
@mishuman Год назад
cut the music off
@MunnaBhaiUSA
@MunnaBhaiUSA Год назад
Great Video! How do we speed up this script to complete this process way faster (if my google sheet had many rows)
@LaurenceSvekisCourses
@LaurenceSvekisCourses Год назад
You can mail out more canned messages, how many rows do you have?
@xxxChubyxxx
@xxxChubyxxx Год назад
I already Commented but this video was so good thanks !!!!!!!!!!!!!! again
@LaurenceSvekisCourses
@LaurenceSvekisCourses Год назад
Thanks for watching
@xxxChubyxxx
@xxxChubyxxx Год назад
A real Life Saver !!!!!!!! Thank you ! this saved me a ton of money and well I really appreciate it