This service accepts a Meeting Guide-formatted JSON feed or a Google Sheet and returns inside pages for a PDF meeting schedule.
This system is designed for weekly in-person recovery meetings. It does not display online-only, inactive, temporarily closed, or by-appointment meetings. Meetings without a specific street address (approximate locations) are also skipped.
Go to pdf.code4recovery.org and enter your Meeting Guide JSON feed URL or Google Sheets URL. If you're using a Google Sheet, its sharing settings must allow anyone with the link to view it, and its columns should follow the Meeting Guide format (here is a template you can copy).
Then you can adjust how your schedule looks:
- Width and height set the paper size in inches. The default is 4.25 x 11.
- Start # sets the page number of the first page, which is useful when your schedule will follow cover pages (more on that below).
- Type limits the schedule to one meeting type, for example Open or Women.
- Language translates day names, times, and headings. English, Spanish, French, Japanese, Dutch, Portuguese, Slovak, Swedish, and Thai are supported.
- Font and font size offer serif or sans serif type at sizes from 8 to 24.
- Group by arranges meetings by Day → Region (the default), by Day only, or by Region → Day.
- Filter by Regions lets you uncheck regions or sub-regions you don't want to include.
- Options can add a meeting types legend, page breaks after each group, the full address on every meeting, and 24-hour time.
- Mode either downloads the PDF or streams it in a new browser tab.
- Cover pages let you attach a front PDF and a back PDF. The service merges them around the schedule and returns one file. Covers must be the same paper size you set above (within 1/8 inch), and at most 5 MB and 10 pages each.
This service provides the inside pages of a meeting book. To create the outer pages and merge it all into a single PDF:
- Decide on a paper size. The default is 4.25 x 11, so that it can be printed on standard US Letter and stapled down the middle.
- Create a Google or Word doc at that paper size. Here is an example "before" Google doc you can copy. (Note: Google Docs doesn't support custom paper sizes, but the Page Sizer app will enable that functionality).
- Download it as a PDF, taking note of how many pages it is.
- Now generate your inside pages at pdf.code4recovery.org. Set the paper size and starting page number according to the results of the steps above, attach your front PDF (and back PDF, if you have one) under Cover pages, and generate. The download is a single merged PDF. If you want content after the meetings, here is an example "after" doc you can copy.
- If you would rather assemble by hand, open the downloaded inside pages in a PDF editor such as Preview on Mac and drag your cover PDFs before and after them in the thumbnail sidebar.
Once nice way to use this is to print a meeting booklet for a central office. To get booklet printing to work properly, the first step is to assemble the booklet following the instructions above.
You will need a duplex printer and a program such as Adobe Reader (free) to print bookletized. Open the file in Reader, hit Print, and:
- Select "Booklet"
- Booklet subset should be "Both Sides"
- Binding should be "Left (Tall)"
- Then eliminate page margins by going to to Page Setup… -> Paper Size > Custom > 8.5 x 11 and set the margins to 0
This should print a stack of pages that you can fold and staple down the middle. Voila!
This service records anonymous usage data so we can see how the tool is being used.
What is recorded: the type of request (form opened or PDF generated) and its outcome, a fingerprint and host for the feed used (not the feed URL itself), the source type (JSON, Google Sheet, or TSML), the host of the site that linked here (if any), the number of meetings and regions in the schedule, how long the PDF took to render and how much memory it used, and the form settings you chose (paper size, language, grouping, etc.).
What is not recorded: feed URLs or Google Sheet IDs, IP addresses, the meeting data itself, or any cookies or identifying information about who is visiting.
- printing screencast video
- mode to show which meetings are skipped