saadq / resumake.io

📝 A website for automatically generating elegant LaTeX resumes.
https://resumake.io
MIT License
3.3k stars 446 forks source link

Failed to Load PDF #172

Closed trickstival closed 3 years ago

trickstival commented 3 years ago

Describe the bug When I click on "Make", I get a "Failed to load PDF file." error message

To Reproduce Steps to reproduce the behavior:

  1. Go to https://latexresu.me/generator/
  2. Click on Import JSON
  3. Select this JSON (my resume):
    {
    "selectedTemplate": 2,
    "headings": {
    "skills": "Skills",
    "projects": "Projects",
    "awards": "Conferences",
    "education": "Education",
    "work": "Work Experience"
    },
    "basics": {
    "name": "Patrick Stival Chaerke",
    "email": "trickstival@gmail.com",
    "website": "",
    "location": {
      "address": "Curitiba - PR, Brazil"
    },
    "phone": "+5541996855134"
    },
    "education": [
    {
      "institution": "IFPR",
      "location": "Curitiba - PR, Brazil",
      "area": "Data Processing",
      "startDate": "Jan 2015",
      "endDate": "Dec 2017",
      "studyType": "Technical"
    }
    ],
    "work": [
    {
      "company": "LAP",
      "website": "",
      "startDate": "Jan 2018",
      "highlights": [
        "Built UI Reusable Components in Vue.js",
        "Created API endpoints with Express and Mongoose",
        ""
      ],
      "position": "Full Stack Web Developer",
      "location": "Brazil, Remote",
      "endDate": "May 2018"
    },
    {
      "highlights": [
        "Built UI Reusable Components in Vue.js",
        "Created Node.js apps for third-party integration from scratch",
        "Created CI/CD pipelines",
        "Maintained a Design System Library",
        "Created Animations with CSS",
        "Created SQL Queries in Postgres",
        "Refactored Legacy Code",
        "Transitioned an app from JavaScript to TypeScript",
        "Written tests with Jest"
      ],
      "company": "LogComex",
      "position": "Software Engineer",
      "location": "Curitiba - PR, Brazil",
      "startDate": "May 2018",
      "endDate": "Apr 2020"
    },
    {
      "highlights": [
        "Developed Pixel Perfect implementation of their website homepage"
      ],
      "company": "Wealthica",
      "position": "Vue.js Freelancer",
      "location": "Canada, Remote",
      "startDate": "Jun 2019",
      "endDate": "Jul 2019"
    },
    {
      "highlights": [
        "Created a media platform from scratch",
        "Developed Communication Between Iframe sandboxes",
        "Created Live-updated CMS with Websockets",
        "Created upload and media streaming functionalities",
        "Created Node.js apps",
        "Written SQL queries",
        "Created Reusable UI Components with Vue.js and Quasar",
        "Written tests with Jest"
      ],
      "company": "Platform Purple",
      "position": "Software Engineer",
      "location": "California, Remote",
      "startDate": "Apr 2020",
      "endDate": "Sep 2020"
    },
    {
      "highlights": [
        "Created Reusable UI Components with Vue.js",
        "Created Node.js Endpoints",
        "Refactored Legacy Code"
      ],
      "company": "Cotabox",
      "position": "Software Engineer",
      "location": "SP, Brazil",
      "startDate": "Nov 2020",
      "endDate": "Jan 2021"
    },
    {
      "highlights": [
        "Elastic Search Index Management",
        "Created Reusable Component in Angular and React",
        "Maintained node.js microservices",
        "Written Selenium tests with Browserstack and Python",
        "Created new apps in the IBM Kubernetes serverless service",
        "Organized team brainstorm meetings",
        "PDF OCR with Apache Tika",
        "Created an NPM Private Registry with Verdaccio",
        "Written Architectural Decision Documents",
        "Contributed to IBM Carbon Vue.js Library",
        "Written tests with Jest"
      ],
      "company": "IBM",
      "position": "Software Engineer",
      "location": "Remote, Brazil",
      "startDate": "Jan 2021",
      "endDate": "Present"
    }
    ],
    "skills": [
    {
      "level": "",
      "keywords": [
        "JavaScript",
        "Typescript",
        "Python",
        "Java"
      ],
      "name": "Programming Languages"
    },
    {
      "keywords": [
        "Neovim",
        "Plugin Environment - FZF/Telescope/NerdTree/Tmux",
        "VSCode",
        "Android Studio"
      ],
      "name": "Text Editors / IDEs"
    },
    {
      "keywords": [
        "Node.js",
        "Express",
        "Mongoose",
        "Vue.js",
        "React",
        "SCSS",
        "Cordova",
        "PIXI.js",
        "Nest.js",
        "Socket.io"
      ],
      "name": "Frameworks and Libraries"
    },
    {
      "keywords": [
        "Browserstack",
        "Pytest",
        "Selenium Grid"
      ],
      "name": "Testing"
    },
    {
      "keywords": [
        "Basic Kubernetes",
        "Docker",
        "Docker Compose",
        "Travis",
        "Circle CI",
        "Cirrus / OpenShift"
      ],
      "name": "Devops"
    },
    {
      "keywords": [
        "PostgreSQL",
        "MySQL",
        "MongoDB",
        "Elastic Search"
      ],
      "name": "Databases"
    }
    ],
    "projects": [
    {
      "keywords": [
        "PIXI.js",
        "TypeScript",
        "Socket.io",
        "Node.js",
        "Nest.js"
      ],
      "name": "Open Hotel",
      "description": "A Habbo Client developed in HTML5 Canvas.",
      "url": "https://github.com/open-hotel/open-hotel-client"
    },
    {
      "keywords": [
        "Vue.js",
        "Phaser"
      ],
      "name": "Cotris",
      "description": "A Game inspired by Tetris",
      "url": "https://github.com/trickstival/cotris"
    },
    {
      "keywords": [
        "Vue.js",
        "CSS"
      ],
      "name": "Vue Particles",
      "url": "https://github.com/trickstival/vue-particles",
      "description": " POC of Graphics made with CSS, JS and Vue.js"
    },
    {
      "keywords": [
        "Vue.js",
        "CSS",
        ""
      ],
      "name": "I wanna work for gitlab",
      "url": "https://github.com/trickstival/i-wanna-work-for-gitlab",
      "description": "A Website I created back in 2018 when I tried to join GitLab's team"
    },
    {
      "keywords": [
        "Vue.js",
        "Parcel",
        "AFrame"
      ],
      "name": "The Artside of the Moon",
      "description": "An AR experience I created in the Nasa SpaceApps hackathon.",
      "url": "https://github.com/trickstival/the-artside-of-the-moon"
    },
    {
      "keywords": [
        "JavaScript",
        "TypeScript"
      ],
      "name": "Vue\u0000re",
      "url": "https://vue\u0000re.vuejs.org/",
      "description": "I made a few open-source contributions to the Vue\u0000re project."
    }
    ],
    "awards": [
    {
      "title": "Speaker",
      "date": "Sep 2018",
      "summary": "I gave a talk at the Vue.js Summit about \u0000Firebase, Vue.js and Vuefire",
      "awarder": "Vue.js Summit"
    },
    {
      "title": "Speaker",
      "date": "Nov 2018",
      "awarder": "JSSP",
      "summary": "I gave a talk about functional programming at the JavaScript São Paulo meetup."
    },
    {
      "awarder": "Curitiba.js",
      "title": "Founder",
      "date": "Mar 2019",
      "summary": "I have created the Curitiba.js meetup to give the opportunity for local people to engage in community tech talks. 3 meetups have happened by now."
    },
    {
      "summary": "I gave a talk about Vue.js Composition API at Vue.js São Paulo.",
      "title": "Speaker",
      "date": "Nov 2019",
      "awarder": "Vue.js SP"
    }
    ],
    "sections": [
    "templates",
    "profile",
    "education",
    "work",
    "skills",
    "projects",
    "awards"
    ]
    }
  4. See error

Expected behavior It should display the PDF

Screenshots Screen Shot 2021-08-19 at 11 57 23

Desktop (please complete the following information):

Additional context Add any other context about the problem here.

saadq commented 3 years ago

Hi @trickstival, thanks for so much for sharing the JSON, it really helps. I will look into it today if I have time or tomorrow, and then get back to you

saadq commented 3 years ago

Hey @trickstival, I looked into the issue and it looks like the issue is coming from here:

{
  ...
    {
      "keywords": ["JavaScript", "TypeScript"],
      "name": "Vue\u0000re",
      "url": "https://vue\u0000re.vuejs.org/",
      "description": "I made a few open-source contributions to the Vue\u0000re project."
    }
  ],
  "awards": [
    {
      "title": "Speaker",
      "date": "Sep 2018",
      "summary": "I gave a talk at the Vue.js Summit about \u0000Firebase, Vue.js and Vuefire",
      ...

You can see that there are some weird instances of \u0000 being a part of the JSON. I'm guessing this may have happened when copy/pasting from some other PDF file into the input fields, I think Resumake still needs to do a better job of making that clear for the user 😅


Here is some working JSON:

{
  "selectedTemplate": 2,
  "headings": {
    "skills": "Skills",
    "projects": "Projects",
    "awards": "Conferences",
    "education": "Education",
    "work": "Work Experience"
  },
  "basics": {
    "name": "Patrick Stival Chaerke",
    "email": "trickstival@gmail.com",
    "website": "",
    "location": {
      "address": "Curitiba - PR, Brazil"
    },
    "phone": "+5541996855134"
  },
  "education": [
    {
      "institution": "IFPR",
      "location": "Curitiba - PR, Brazil",
      "area": "Data Processing",
      "startDate": "Jan 2015",
      "endDate": "Dec 2017",
      "studyType": "Technical"
    }
  ],
  "work": [
    {
      "company": "LAP",
      "website": "",
      "startDate": "Jan 2018",
      "highlights": [
        "Built UI Reusable Components in Vue.js",
        "Created API endpoints with Express and Mongoose",
        ""
      ],
      "position": "Full Stack Web Developer",
      "location": "Brazil, Remote",
      "endDate": "May 2018"
    },
    {
      "highlights": [
        "Built UI Reusable Components in Vue.js",
        "Created Node.js apps for third-party integration from scratch",
        "Created CI/CD pipelines",
        "Maintained a Design System Library",
        "Created Animations with CSS",
        "Created SQL Queries in Postgres",
        "Refactored Legacy Code",
        "Transitioned an app from JavaScript to TypeScript",
        "Written tests with Jest"
      ],
      "company": "LogComex",
      "position": "Software Engineer",
      "location": "Curitiba - PR, Brazil",
      "startDate": "May 2018",
      "endDate": "Apr 2020"
    },
    {
      "highlights": [
        "Developed Pixel Perfect implementation of their website homepage"
      ],
      "company": "Wealthica",
      "position": "Vue.js Freelancer",
      "location": "Canada, Remote",
      "startDate": "Jun 2019",
      "endDate": "Jul 2019"
    },
    {
      "highlights": [
        "Created a media platform from scratch",
        "Developed Communication Between Iframe sandboxes",
        "Created Live-updated CMS with Websockets",
        "Created upload and media streaming functionalities",
        "Created Node.js apps",
        "Written SQL queries",
        "Created Reusable UI Components with Vue.js and Quasar",
        "Written tests with Jest"
      ],
      "company": "Platform Purple",
      "position": "Software Engineer",
      "location": "California, Remote",
      "startDate": "Apr 2020",
      "endDate": "Sep 2020"
    },
    {
      "highlights": [
        "Created Reusable UI Components with Vue.js",
        "Created Node.js Endpoints",
        "Refactored Legacy Code"
      ],
      "company": "Cotabox",
      "position": "Software Engineer",
      "location": "SP, Brazil",
      "startDate": "Nov 2020",
      "endDate": "Jan 2021"
    },
    {
      "highlights": [
        "Elastic Search Index Management",
        "Created Reusable Component in Angular and React",
        "Maintained node.js microservices",
        "Written Selenium tests with Browserstack and Python",
        "Created new apps in the IBM Kubernetes serverless service",
        "Organized team brainstorm meetings",
        "PDF OCR with Apache Tika",
        "Created an NPM Private Registry with Verdaccio",
        "Written Architectural Decision Documents",
        "Contributed to IBM Carbon Vue.js Library",
        "Written tests with Jest"
      ],
      "company": "IBM",
      "position": "Software Engineer",
      "location": "Remote, Brazil",
      "startDate": "Jan 2021",
      "endDate": "Present"
    }
  ],
  "skills": [
    {
      "level": "",
      "keywords": ["JavaScript", "Typescript", "Python", "Java"],
      "name": "Programming Languages"
    },
    {
      "keywords": [
        "Neovim",
        "Plugin Environment - FZF/Telescope/NerdTree/Tmux",
        "VSCode",
        "Android Studio"
      ],
      "name": "Text Editors / IDEs"
    },
    {
      "keywords": [
        "Node.js",
        "Express",
        "Mongoose",
        "Vue.js",
        "React",
        "SCSS",
        "Cordova",
        "PIXI.js",
        "Nest.js",
        "Socket.io"
      ],
      "name": "Frameworks and Libraries"
    },
    {
      "keywords": ["Browserstack", "Pytest", "Selenium Grid"],
      "name": "Testing"
    },
    {
      "keywords": [
        "Basic Kubernetes",
        "Docker",
        "Docker Compose",
        "Travis",
        "Circle CI",
        "Cirrus / OpenShift"
      ],
      "name": "Devops"
    },
    {
      "keywords": ["PostgreSQL", "MySQL", "MongoDB", "Elastic Search"],
      "name": "Databases"
    }
  ],
  "projects": [
    {
      "keywords": ["PIXI.js", "TypeScript", "Socket.io", "Node.js", "Nest.js"],
      "name": "Open Hotel",
      "description": "A Habbo Client developed in HTML5 Canvas.",
      "url": "https://github.com/open-hotel/open-hotel-client"
    },
    {
      "keywords": ["Vue.js", "Phaser"],
      "name": "Cotris",
      "description": "A Game inspired by Tetris",
      "url": "https://github.com/trickstival/cotris"
    },
    {
      "keywords": ["Vue.js", "CSS"],
      "name": "Vue Particles",
      "url": "https://github.com/trickstival/vue-particles",
      "description": " POC of Graphics made with CSS, JS and Vue.js"
    },
    {
      "keywords": ["Vue.js", "CSS", ""],
      "name": "I wanna work for gitlab",
      "url": "https://github.com/trickstival/i-wanna-work-for-gitlab",
      "description": "A Website I created back in 2018 when I tried to join GitLab's team"
    },
    {
      "keywords": ["Vue.js", "Parcel", "AFrame"],
      "name": "The Artside of the Moon",
      "description": "An AR experience I created in the Nasa SpaceApps hackathon.",
      "url": "https://github.com/trickstival/the-artside-of-the-moon"
    },
    {
      "keywords": ["JavaScript", "TypeScript"],
      "name": "Vuefire",
      "url": "https://vuefire.vuejs.org/",
      "description": "I made a few open-source contributions to the Vuefire project."
    }
  ],
  "awards": [
    {
      "title": "Speaker",
      "date": "Sep 2018",
      "summary": "I gave a talk at the Vue.js Summit about Firebase, Vue.js and Vuefire",
      "awarder": "Vue.js Summit"
    },
    {
      "title": "Speaker",
      "date": "Nov 2018",
      "awarder": "JSSP",
      "summary": "I gave a talk about functional programming at the JavaScript São Paulo meetup."
    },
    {
      "awarder": "Curitiba.js",
      "title": "Founder",
      "date": "Mar 2019",
      "summary": "I have created the Curitiba.js meetup to give the opportunity for local people to engage in community tech talks. 3 meetups have happened by now."
    },
    {
      "summary": "I gave a talk about Vue.js Composition API at Vue.js São Paulo.",
      "title": "Speaker",
      "date": "Nov 2019",
      "awarder": "Vue.js SP"
    }
  ],
  "sections": [
    "templates",
    "profile",
    "education",
    "work",
    "skills",
    "projects",
    "awards"
  ]
}

Sorry about the inconvenience, and let me know if there are any other issues.