#!/usr/bin/env python3 """Generate English SDS for Ethyl Acetate — new layout + page numbering.""" import os, base64, io from weasyprint import HTML import pikepdf PRIMARY = "#004C98" PRIMARY_DARK = "#00335F" SECONDARY = "#2B2E33" MUTED = "#5B6670" ACCENT = "#0071B8" HIGHLIGHT = "#F2F6FA" BORDER = "#D9E1E8" WHITE = "#FFFFFF" WARNING_AMBER = "#C77700" LOGO_PATH = '/home/bachko/msds-tds/assets/logo-synthesia.png' ISO_PATH = '/home/bachko/msds-tds/assets/iso-seal-tuv-rheinland.png' def img_b64(path): with open(path, 'rb') as f: return f"data:image/png;base64,{base64.b64encode(f.read()).decode()}" logo_b64 = img_b64(LOGO_PATH) iso_b64 = img_b64(ISO_PATH) html = f"""
SAFETY DATA SHEET
Ethyl acetate
SDS-ETHYL-ACETATE-REV1 · 06/07/2026
TÜV Rheinland

SAFETY DATA SHEET
Ethyl acetate

According to Regulation (EU) 2020/878 (REACH Annex II) · CLP Regulation (EC) 1272/2008 as amended by EU 2024/2865

SECTION 1: Identification of the substance/mixture and of the company/undertaking

1.1 Product identifier

PropertyValue
Product formSubstance
Chemical nameEthyl acetate
EC Index-No.607-022-00-5
EC-No.205-500-4
CAS-No.141-78-6
REACH registration No.01-2119475103-46-XXXX
Molecular formulaC₄H₈O₂

1.2 Relevant identified uses of the substance or mixture and uses advised against

Use of the substance/mixtureIndustrial use
Restrictions on useNo data available

1.3 Details of the supplier of the safety data sheet

FieldDetails
CompanySynthesia Ltd.
AddressTodor Radunchev 9, Krivina 1588, Bulgaria
VATBG121306542
Phone+359 2 974 4968
Emailoffice@synthesia.bg

1.4 Emergency telephone number

Emergency number112

SECTION 2: Hazards identification

2.1 Classification of the substance or mixture

Classification according to Regulation (EC) No. 1272/2008 [CLP] as amended by EU 2024/2865:

Hazard classCategoryHazard statement
Flammable liquidsCategory 2H225 — Highly flammable liquid and vapour
Serious eye damage/eye irritationCategory 2H319 — Causes serious eye irritation
Specific target organ toxicity — Single exposureCategory 3 (Narcosis)H336 — May cause drowsiness or dizziness

Full text of H-statements: see Section 16.

2.2 Label elements

ElementDetails
Hazard pictogramsGHS02 (Flame) · GHS07 (Exclamation mark)
Signal wordDanger
Hazard statementsH225 — Highly flammable liquid and vapour.
H319 — Causes serious eye irritation.
H336 — May cause drowsiness or dizziness.
Precautionary statementsP210 — Keep away from heat, hot surfaces, sparks, open flames and other ignition sources. No smoking.
P280 — Wear protective gloves/protective clothing/eye protection/face protection.
P304+P340 — IF INHALED: Remove person to fresh air and keep comfortable for breathing.
P305+P351+P338 — IF IN EYES: Rinse cautiously with water for several minutes. Remove contact lenses, if present and easy to do. Continue rinsing.
P337+P313 — If eye irritation persists: Get medical advice/attention.
P403+P233 — Store in a well-ventilated place. Keep container tightly closed.
EUH-statementsEUH066 — Repeated exposure may cause skin dryness or cracking.

2.3 Other hazards

This substance does not contain components considered to be persistent, bioaccumulative and toxic (PBT), very persistent and very bioaccumulative (vPvB), persistent, mobile and toxic (PMT), or very persistent and very mobile (vPvM) at levels of 0.1% or higher, in accordance with the criteria of CLP Regulation as amended by EU 2024/2865 and REACH Annex XIII.

This substance is not classified as an endocrine disruptor (ED) according to the criteria of CLP Regulation as amended by EU 2024/2865, Commission Delegated Regulation (EU) 2017/2100, or Commission Regulation (EU) 2018/605.

Vapours may form explosive mixture with air.

SECTION 3: Composition/information on ingredients

3.1 Substances

ComponentCAS-No.EC-No.Index-No.ClassificationConcentration
Ethyl acetate141-78-6205-500-4607-022-00-5Flam. Liq. 2; Eye Irrit. 2; STOT SE 3; H225, H319, H336> 99.8%

Molecular weight: 88.11 g/mol  |  Formula: C₄H₈O₂

3.2 Mixtures

Not applicable.

SECTION 4: First aid measures

4.1 Description of first aid measures

RouteMeasures
GeneralCall a poison centre or a doctor if you feel unwell.
After inhalationRemove person to fresh air and keep comfortable for breathing. If experiencing respiratory symptoms: Call a poison centre or a doctor.
After skin contactRinse skin with water/shower. Take off immediately all contaminated clothing.
After eye contactRinse cautiously with water for several minutes. Remove contact lenses, if present and easy to do. Continue rinsing. If eye irritation persists: Get medical advice/attention.
After ingestionRinse mouth. Do not induce vomiting. Call a poison centre or a doctor if you feel unwell.

4.2 Most important symptoms and effects, both acute and delayed

Symptoms/effectsDescription
GeneralMay cause drowsiness or dizziness.
Skin contactRepeated exposure may cause skin dryness or cracking.
Eye contactEye irritation.

4.3 Indication of any immediate medical attention and special treatment needed

Treat symptomatically.

SECTION 5: Firefighting measures

5.1 Extinguishing media

Suitable extinguishing mediaWater spray. Dry powder. Foam. Carbon dioxide.
Unsuitable extinguishing mediaHigh volume water jet.

5.2 Special hazards arising from the substance or mixture

Fire hazardHighly flammable liquid and vapour.
Hazardous decomposition productsToxic fumes may be released. Carbon oxides.

5.3 Advice for firefighters

Do not attempt to take action without suitable protective equipment. Self-contained breathing apparatus. Complete protective clothing.

SECTION 6: Accidental release measures

6.1 Personal precautions, protective equipment and emergency procedures

PersonnelMeasures
For non-emergency personnelWear recommended personal protective equipment. Ventilate spillage area. No open flames, no sparks, and no smoking. Avoid breathing vapours. Avoid contact with skin and eyes.
For emergency respondersDo not attempt to take action without suitable protective equipment. Eliminate all ignition sources if safe to do so. Evacuate unnecessary personnel.

6.2 Environmental precautions

Avoid release to the environment.

6.3 Methods and material for containment and cleaning up

Methods for cleaning upTake up liquid spill into absorbent material. Notify authorities if product enters sewers or public waters.
Other informationDispose of materials or solid residues at an authorised site.

6.4 Reference to other sections

Refer to protective measures listed in Sections 7 and 8. For further information refer to Section 13.

SECTION 7: Handling and storage

7.1 Precautions for safe handling

Keep away from heat, hot surfaces, sparks, open flames and other ignition sources. No smoking. Ground/bond container and receiving equipment. Use only non-sparking tools. Take precautionary measures against static discharge. Flammable vapours may accumulate in the container. Use explosion-proof equipment. Wear personal protective equipment. Use only outdoors or in a well-ventilated area. Avoid breathing vapours. Avoid contact with skin and eyes.

Hygiene measures: Do not eat, drink or smoke when using this product. Always wash hands after handling the product.

7.2 Conditions for safe storage, including any incompatibilities

Technical measuresGround/bond container and receiving equipment.
Storage conditionsStore in a well-ventilated place. Keep cool. Keep container tightly closed. Store locked up.
Heat and ignition sourcesKeep away from open flames, hot surfaces and sources of ignition.

7.3 Specific end use(s)

No additional information available.

SECTION 8: Exposure controls/personal protection

8.1 Control parameters

EU Occupational Exposure Limits (IOELV) — Ethyl acetate
IOELV TWA734 mg/m³ (200 ppm)
IOELV STEL1,468 mg/m³ (400 ppm)
ReferenceDirective (EU) 2017/164 · SCOEL Recommendations (2008)
UK Workplace Exposure Limits (WEL)
WEL TWA734 mg/m³ (200 ppm)
WEL STEL1,468 mg/m³ (400 ppm)
ReferenceEH40/2005 (3rd ed., 2018), HSE
DNEL/DMEL — Workers
Acute - systemic, inhalation1,468 mg/m³
Acute - local, inhalation1,468 mg/m³
Long-term - systemic, dermal63 mg/kg bw/day
Long-term - systemic, inhalation734 mg/m³
Long-term - local, inhalation734 mg/m³
DNEL/DMEL — General population
Acute - systemic, inhalation734 mg/m³
Acute - local, inhalation734 mg/m³
Long-term - systemic, oral4.5 mg/kg bw/day
Long-term - systemic, inhalation367 mg/m³
Long-term - systemic, dermal37 mg/kg bw/day
Long-term - local, inhalation367 mg/m³
PNEC
Freshwater0.24 mg/l
Marine water0.024 mg/l
Intermittent (freshwater)1.65 mg/l
Sediment (freshwater)1.15 mg/kg dwt
Sediment (marine water)0.115 mg/kg dwt
Soil0.148 mg/kg dwt
Oral (secondary poisoning)0.2 g/kg food
STP650 mg/l

8.2 Exposure controls

Control typeMeasures
Engineering controlsEnsure good ventilation of the work station.
Hand protectionProtective gloves.
Eye protectionSafety glasses.
Skin and body protectionWear suitable protective clothing.
Respiratory protectionIn case of insufficient ventilation, wear suitable respiratory equipment.
Environmental exposureAvoid release to the environment.

SECTION 9: Physical and chemical properties

9.1 Information on basic physical and chemical properties

PropertyValue
Physical stateClear liquid
ColourColourless
OdourFruity
Melting / Freezing point-84 °C
Initial boiling point and boiling range76.5 – 77.5 °C
Flash point-4 °C
Auto-ignition temperature426 °C
Flammability (solid, gas)Not applicable (liquid)
Upper/lower flammability limits2 – 11.5 vol %
Vapour pressure73 mm Hg (20 °C)
Relative vapour density3.04 (Air = 1, 20 °C)
Density0.902 g/cm³ (20 °C)
Solubility (water)8 g/100 ml (25 °C)
Partition coefficient n-octanol/water (Log Pow)0.73
Viscosity, dynamic0.45 mPa·s (20 °C)

9.2 Other information

No additional information available.

SECTION 10: Stability and reactivity

10.1 Reactivity

Highly flammable liquid and vapour.

10.2 Chemical stability

Stable under normal conditions.

10.3 Possibility of hazardous reactions

No dangerous reactions known under normal conditions of use.

10.4 Conditions to avoid

Avoid contact with hot surfaces. No flames, no sparks. Eliminate all sources of ignition.

10.5 Incompatible materials

No additional information available.

10.6 Hazardous decomposition products

Under normal conditions of storage and use, hazardous decomposition products should not be produced.

SECTION 11: Toxicological information

11.1 Information on hazard classes

Toxicological endpointClassificationData
Acute toxicityNot classifiedLD50 oral (rabbit): 5,620 mg/kg bw
LD50 dermal (rat): >18,000 mg/kg bw
LC50 inhalation (rat): 1.600 mg/l/4h
Skin corrosion/irritationNot classified
Serious eye damage/irritationCauses serious eye irritation
Respiratory or skin sensitisationNot classified
Germ cell mutagenicityNot classified
CarcinogenicityNot classified
Reproductive toxicityNot classified
STOT — single exposureCategory 3 — NarcosisMay cause drowsiness or dizziness
STOT — repeated exposureNot classifiedLOAEL (oral, rat, 90d): 3,600 mg/kg bw
NOAEL (oral, rat, 90d): 900 mg/kg bw
Aspiration hazardNot classified

11.2 Information on other hazards

Not classified as having endocrine disrupting properties according to REACH Article 57(f), Commission Delegated Regulation (EU) 2017/2100, Commission Regulation (EU) 2018/605, or CLP criteria as amended by EU 2024/2865 at levels of 0.1% or higher.

RTECS: AH5425000

Inhalation of high concentrations may cause: headache, drowsiness, dizziness, vomiting, narcosis, anaemia, central nervous system depression.

SECTION 12: Ecological information

12.1 Toxicity

The product is not considered harmful to aquatic organisms nor to cause long-term adverse effects in the environment.

EndpointValueSpecies
LC50 (fish, 96h)230 mg/lPimephales promelas
EC50 (daphnia, 48h)720 mg/lDaphnia magna
EC50 (algae, 72h)3,300 mg/l
LC50 (bacteria)2,900 mg/l
NOEC (chronic daphnia, 21d)2.4 mg/lDaphnia magna

12.2 Persistence and degradability

Readily biodegradable — 100% after 28 days.

12.3 Bioaccumulative potential

Log Pow0.73 (low bioaccumulation potential)

12.4 Mobility in soil

Low mobility.

12.5 Results of PBT and vPvB assessment

Not classified as PBT or vPvB in accordance with REACH Annex XIII.

12.6 Endocrine disrupting properties

Not classified as having endocrine disrupting properties according to REACH Article 57(f), Commission Delegated Regulation (EU) 2017/2100, Commission Regulation (EU) 2018/605, or CLP criteria as amended by EU 2024/2865 at levels of 0.1% or higher.

12.7 Other adverse effects

No additional information available.

SECTION 13: Disposal considerations

13.1 Waste treatment methods

Waste treatment methodsDispose of contents/container in accordance with licensed collector's sorting instructions.
Packaging disposalDispose of contents/container to hazardous or special waste collection point, in accordance with local, regional, national and/or international regulation.
Additional informationDo not re-use empty containers. Flammable vapours may accumulate in the container.

SECTION 14: Transport information

In accordance with ADR / RID / IMDG / IATA / ADN

Transport modeUN No.Proper shipping nameClassPGEnv.
ADR (road)1173ETHYL ACETATE, 3, II, (D/E)3IINo
IMDG (sea)1173ETHYL ACETATE, 3, II, (-4°C c.c.)3IINo
IATA (air)1173Ethyl acetate, 3, II3IINo
ADN (inland waterway)1173ETHYL ACETATE, 3, II3IINo
RID (rail)1173ETHYL ACETATE, 3, II3IINo
ADR Details
Classification codeF1
Limited quantities1 L
Excepted quantitiesE2
Tunnel restriction codeD/E
Hazard identification No. (Kemler)33
Transport category2
EAC code•3YE

14.7 Transport in bulk according to IMO instruments

Not applicable.

SECTION 15: Regulatory information

15.1 Safety, health and environmental regulations/legislation specific for the substance or mixture

15.1.1 EU Regulations

15.1.2 National regulations

CountryRegulationStatus
GermanyWater hazard class (WGK)WGK 1 — Slightly hazardous to water (AwSV; ID No. 95)
GermanyHazardous Incident Ordinance (12. BImSchV)Not subject
NetherlandsSZW lists (carcinogenic, mutagenic, reprotoxic)Not listed
DenmarkClassification remarksEmergency management guidelines for flammable liquids must be followed. Young persons under 18 not allowed to use the product.

15.2 Chemical safety assessment

No chemical safety assessment has been carried out.

SECTION 16: Other information

Abbreviations and acronyms

AbbreviationFull form
ADNEuropean Agreement concerning the International Carriage of Dangerous Goods by Inland Waterways
ADREuropean Agreement concerning the International Carriage of Dangerous Goods by Road
CASChemical Abstract Service number
CLPClassification, Labelling and Packaging Regulation (EC) No 1272/2008
DMELDerived Minimal Effect Level
DNELDerived No-Effect Level
EC50Median Effective Concentration
EDEndocrine Disruptor
IATAInternational Air Transport Association
IMDGInternational Maritime Dangerous Goods
LC50Median Lethal Concentration
LD50Median Lethal Dose
LOAELLowest Observed Adverse Effect Level
NOAELNo-Observed Adverse Effect Level
PBTPersistent, Bioaccumulative, Toxic
PMTPersistent, Mobile, Toxic
PNECPredicted No-Effect Concentration
REACHRegistration, Evaluation, Authorisation and Restriction of Chemicals (EC) No 1907/2006
RIDRegulations concerning the International Carriage of Dangerous Goods by Rail
SDSSafety Data Sheet
STOTSpecific Target Organ Toxicity
vPvBVery Persistent and Very Bioaccumulative
vPvMVery Persistent and Very Mobile
WGKWater Hazard Class (Germany)

Full text of H- and EUH-statements

CodeText
H225Highly flammable liquid and vapour.
H319Causes serious eye irritation.
H336May cause drowsiness or dizziness.
EUH066Repeated exposure may cause skin dryness or cracking.

Disclaimer of Liability: The information in this SDS was obtained from sources which we believe are reliable. However, the information is provided without any warranty, express or implied, regarding its correctness. The conditions or methods of handling, storage, use or disposal of the product are beyond our control and may be beyond our knowledge. For this and other reasons, we do not assume responsibility and expressly disclaim liability for loss, damage or expense arising out of or in any way connected with the handling, storage, use or disposal of the product. This SDS was prepared and is to be used only for this product. If the product is used as a component in another product, this SDS information may not be applicable.

""" # ─── Generate PDF ─── OUT_DIR = '/home/bachko/msds-tds/output' os.makedirs(OUT_DIR, exist_ok=True) html_path = os.path.join(OUT_DIR, 'sds-ethyl-acetate-en.html') with open(html_path, 'w', encoding='utf-8') as f: f.write(html) print(f"HTML: {html_path}") # Pass 1: WeasyPrint pdf_path = os.path.join(OUT_DIR, 'SDS_Ethyl_Acetate_REV1_EN.pdf') buf = io.BytesIO() HTML(string=html).write_pdf(buf) buf.seek(0) # Save temp tmp_path = pdf_path + '.tmp' with open(tmp_path, 'wb') as f: f.write(buf.read()) # Pass 2: Add page numbers with pikepdf with pikepdf.Pdf.open(tmp_path) as pdf: total = len(pdf.pages) print(f"Total pages: {total}") for i, page in enumerate(pdf.pages, 1): text = f"Page {i} of {total}" mb = page.mediabox w = float(mb[2]) bottom = 48 # points from bottom stream = ( f"BT\n" f"/Helvetica 7 Tf\n" f"{w/2:.0f} {bottom} Td\n" f"0.357 0.400 0.435 rg\n" f"({text}) Tj\n" f"ET\n" ).encode('latin-1') page.contents_add(pikepdf.Stream(pdf, stream)) pdf.save(pdf_path) os.remove(tmp_path) print(f"PDF: {pdf_path} ({total} pages)")