我要做一个试油测试新技术的汇报材料,我上传了3个参考ppt,你在互联网上也搜索一下别的相关材料(无线...

創建於:2026年8月19日

使用 GPT-5.6 Thinking 回答 Chat01

問題

RDT技术调研.pptx
分层地层测试排液技术.pptx
无线传输进展汇报.pptx

我要做一个试油测试新技术的汇报材料,我上传了3个参考ppt,你在互联网上也搜索一下别的相关材料(无线传输、高温高压测试、分层测试、电缆地层测试、连续油管测试等)。最终你生成一个40页左右的pptx材料

思考

{"uri":"skills://slides/skill.md","start_line":1,"num_lines":300}

Used slides skill

bash -lc cat /home/oai/skills/slides/SKILL.md

Read slide skill instructions

{"search_query":[{"q":"SLB wireline formation testing MDT Saturn ORA formation testing tool HPHT specifications pressure temperature"},{"q":"Halliburton Reservoir Description Tool RDT formation testing pressure temperature pumpout sample chamber specifications"},{"q":"downhole wireless telemetry acoustic electromagnetic drill stem test reservoir testing real time data transmission technology 150C 70MPa"},{"q":"coiled tubing conveyed formation testing drill stem test technology HPHT layered testing"}],"response_length":"medium"}

Searched 5 websites

bash -lc mkdir -p /mnt/data/work_slides && ls -lh /mnt/data/*.pptx && python /home/oai/skills/slides/container_tools/render_slides.py /mnt/data/RDT技术调研.pptx

Designing the deck

I’m creating a 40-slide Chinese presentation with a consistent split layout: images on the right, explanatory text on the left, no overlap, filled backgrounds, and chapter slides only where they support the narrative.

Designed the deck

bash -lc cat > /mnt/data/work_slides/create_deck.js <<'EOF' const pptxgen = require('pptxgenjs'); const { imageSizingCrop, imageSizingContain, safeOuterShadow, warnIfSlideHasOverlaps, warnIfSlideElementsOutOfBounds, } = require('/home/oai/skills/slides/pptxgenjs_helpers');

const pptx = new pptxgen(); pptx.layout = 'LAYOUT_WIDE'; pptx.author = 'OpenAI'; pptx.company = 'Artlinkheart'; pptx.subject = '试油测试新技术汇报材料'; pptx.title = '试油测试新技术发展与应用建议'; pptx.lang = 'zh-CN'; pptx.theme = { headFontFace: 'Noto Sans CJK SC', bodyFontFace: 'Noto Sans CJK SC', lang: 'zh-CN' }; pptx.defineLayout({ name: 'CUSTOM_WIDE', width: 13.333, height: 7.5 }); pptx.layout = 'CUSTOM_WIDE'; pptx.margin = 0; pptx.layout = 'LAYOUT_WIDE';

const W = 13.333; const H = 7.5; const FONT = 'Noto Sans CJK SC'; const COLORS = { navy: '073763', blue: '0B75BB', cyan: '00A6D6', lightBlue: 'E9F6FC', pale: 'F5FAFD', gold: 'F6A623', orange: 'E46C0A', red: 'C00000', gray: '555555', ltGray: 'D9EAF3', green: '2E8B57', white: 'FFFFFF', black: '000000', };

const asset = (p) => p; const IMG = { saturn: asset('/mnt/data/work_slides/saturn_probe.jpg'), coiled: asset('/mnt/data/work_slides/coiled_tubing.jpg'), gauge: asset('/mnt/data/work_slides/hpht_gauge.jpg'), rdtTool: asset('/mnt/data/RDT技术调研/slide-7.png'), rdtConfig: asset('/mnt/data/RDT技术调研/slide-9.png'), rdtSpecs: asset('/mnt/data/RDT技术调研/slide-10.png'), rdtDual: asset('/mnt/data/RDT技术调研/slide-14.png'), rdtMri: asset('/mnt/data/RDT技术调研/slide-16.png'), layeredNeed: asset('/mnt/data/分层地层测试排液技术/slide-4.png'), layeredValve: asset('/mnt/data/分层地层测试排液技术/slide-10.png'), layeredJet: asset('/mnt/data/分层地层测试排液技术/slide-18.png'), layeredModes: asset('/mnt/data/分层地层测试排液技术/slide-23.png'), layeredL31: asset('/mnt/data/分层地层测试排液技术/slide-27.png'), layeredZ96: asset('/mnt/data/分层地层测试排液技术/slide-30.png'), layeredEffect: asset('/mnt/data/分层地层测试排液技术/slide-32.png'), wirelessArch: asset('/mnt/data/无线传输进展汇报/slide-10.png'), wirelessCircuit: asset('/mnt/data/无线传输进展汇报/slide-18.png'), wirelessRelay: asset('/mnt/data/无线传输进展汇报/slide-28.png'), wirelessValve: asset('/mnt/data/无线传输进展汇报/slide-37.png'), wirelessTrial: asset('/mnt/data/无线传输进展汇报/slide-46.png'), };

const SRC = { rdt: '用户上传:RDT技术调研.pptx。关键信息:电缆地层测试快速、经济、环保,可获取压力、物性、流体性质、流体识别与取样;RDT模块包括QGS、DPS、FPS、MCS/CVS。', layered: '用户上传:分层地层测试排液技术.pptx。关键信息:一趟管柱多层测试,提升效率、保障成果、降低成本、保护储层;电控测试阀/循环阀、射流泵、主动防砂、安全震击解脱等。', wireless: '用户上传:无线传输进展汇报.pptx。关键信息:150℃实时交互式地层测试技术,以电磁/声波中继和遥控测试阀实现井下信息直读与数字化开关井。', slbOra: 'SLB Ora intelligent wireline formation testing platform: https://www.slb.com/products-and-services/innovating-in-oil-and-gas/reservoir-characterization/surface-and-downhole-logging/wireline-openhole-logging/wireline-formation-testing/ora-intelligent-wireline-formation-testing-platform', slbOraPs: 'SLB Ora platform datasheet: https://www.slb.com/-/media/files/fe/product-sheet/ora-ps.ashx', hallRdt: 'Halliburton Reservoir Description Tool RDT: https://www.halliburton.com/en/products/reservoir-description-tool-rdt-tool and RDT data sheet: https://www.halliburton.com/en/resources/rdt-formation-tester-data-sheet', hallRez: 'Halliburton RezConnect well testing system: https://www.halliburton.com/en/products/rezconnect-well-testing-system', hallRezCase: 'Halliburton RezConnect full acoustic control of DST case study: https://www.halliburton.com/en/resources/rezconnect-system-full-acoustic-control-of-dst', bakerRcx: 'Baker Hughes RCX Reservoir Characterization eXplorer: https://www.bakerhughes.com/integrated-well-services/integrated-well-construction/evaluation/wireline-openhole-logging/fluid-characterization-and-testing/reservoir-characterization-explorer', slbGauge: 'SLB Signature quartz gauge product sheet: https://www.slb.com/-/media/files/testing-services/product-sheet/signature-quartz-gauge-ps.ashx', weatherGauge: 'Weatherford IntelleX HPHT Quartz Gauge Tool: https://www.weatherford.com/documents/technical-specification-sheet/products-and-services/formation-evaluation/wireline/intellex-hpht-quartz-gauge-tool/', slbMuzic: 'SLB Muzic Aeon premium-performance wireless telemetry: https://www.slb.com/-/media/files/testing-services/product-sheet/muzic-aeon-ps.ashx', exproCats: 'Expro CaTS Cableless Telemetry System / Downhole Wireless Monitoring: https://www.expro.com/products-services/well-flow-management/well-testing/long-term-monitoring', rigzoneFt: 'Rigzone How Does Formation Testing Work: https://www.rigzone.com/insights/how-it-works-3/how-does-formation-testing-work-1127/', coiledPatent: 'US Patent Application 20240418062, deep transient testing using coiled tubing: https://patents.justia.com/patent/20240418062', eCfrCt: 'eCFR 30 CFR Part 250 Subpart G, Coiled Tubing Operations: https://www.ecfr.gov/current/title-30/chapter-II/subchapter-B/part-250/subpart-G/subject-group-ECFRecfb55da19c7748', imgSaturn: '图片:SLB Saturn 3D radial probe deployment image, https://www.slb.com/-/media/files/fe/case-study/saturn-gulf-of-thailand-cs-1a.jpg', imgCoiled: '图片:Coiled tubing drilling unit, https://nortech-me.com/img/service_page_image_4.jpg', imgGauge: '图片:Weatherford IntelleX HPHT Quartz Gauge Tool image, https://www.weatherford.com/getmedia/a09cb2d9-1295-45b8-a914-5e9356ffc28c/IntelleX-HPHT-Quartz-Gauge-Tool.jpg' };

function addNotes(slide, sources) { const unique = [...new Set(sources.filter(Boolean))]; slide.addNotes([Sources]\n${unique.map(s => '- ' + s).join('\n')}); }

function addHeader(slide, title, section, no) { slide.background = { color: COLORS.white }; slide.addText('中油测井 · 试油测试新技术', { x: 0.42, y: 0.16, w: 3.2, h: 0.22, fontFace: FONT, fontSize: 7.5, color: COLORS.gray, margin: 0, }); slide.addText(section || '', { x: 9.55, y: 0.15, w: 3.2, h: 0.25, fontFace: FONT, fontSize: 8, color: COLORS.blue, bold: true, align: 'right', margin: 0, }); slide.addText(title, { x: 0.62, y: 0.52, w: 8.9, h: 0.45, fontFace: FONT, fontSize: 22, bold: true, color: COLORS.navy, margin: 0, fit: 'shrink' }); slide.addShape(pptx.ShapeType.line, { x: 0.62, y: 1.02, w: 12.05, h: 0, line: { color: COLORS.ltGray, width: 1 } }); slide.addText(String(no).padStart(2,'0'), { x: 12.32, y: 7.05, w: 0.5, h: 0.18, fontFace: FONT, fontSize: 7, color: COLORS.gray, align: 'right', margin: 0 }); }

function addFooter(slide, text) { slide.addText(text || '创新测井 · 服务油气', { x: 0.62, y: 7.04, w: 3.0, h: 0.2, fontFace: FONT, fontSize: 7.5, color: COLORS.gray, margin: 0 }); }

function addTitle(slide, title, subtitle, no) { slide.background = { color: COLORS.pale }; slide.addImage({ path: IMG.saturn, ...imageSizingCrop(IMG.saturn, 6.0, 0.0, 7.33, 7.5) }); slide.addShape(pptx.ShapeType.rect, { x: 5.55, y: 0, w: 0.5, h: 7.5, fill: { color: COLORS.cyan }, line: { color: COLORS.cyan, transparency: 100 } }); slide.addShape(pptx.ShapeType.rect, { x: 0, y: 0, w: 5.55, h: 7.5, fill: { color: COLORS.pale }, line: { color: COLORS.pale, transparency: 100 } }); slide.addText('试油测试新技术', { x: 0.75, y: 1.58, w: 4.85, h: 0.7, fontFace: FONT, fontSize: 32, bold: true, color: COLORS.navy, margin: 0 }); slide.addText('发展趋势 · 技术架构 · 应用建议', { x: 0.78, y: 2.38, w: 4.5, h: 0.36, fontFace: FONT, fontSize: 16, color: COLORS.blue, margin: 0 }); slide.addShape(pptx.ShapeType.line, { x: 0.8, y: 3.08, w: 3.1, h: 0, line: { color: COLORS.gold, width: 3 } }); slide.addText(subtitle, { x: 0.8, y: 3.35, w: 4.5, h: 1.2, fontFace: FONT, fontSize: 14, color: COLORS.gray, breakLine: false, margin: 0.02, fit: 'shrink' }); slide.addText('汇报材料 / 40页', { x: 0.8, y: 6.65, w: 2.3, h: 0.22, fontFace: FONT, fontSize: 9, color: COLORS.gray, margin: 0 }); addNotes(slide, [SRC.rdt, SRC.layered, SRC.wireless, SRC.imgSaturn]); }

function addSectionSlide(no, sectionTitle, subtitle, items, sources=[]) { const slide = pptx.addSlide(); slide.background = { color: COLORS.lightBlue }; slide.addText(sectionTitle, { x: 0.8, y: 1.4, w: 8.0, h: 0.7, fontFace: FONT, fontSize: 32, color: COLORS.navy, bold: true, margin: 0 }); slide.addText(subtitle, { x: 0.82, y: 2.15, w: 8.2, h: 0.45, fontFace: FONT, fontSize: 15, color: COLORS.blue, margin: 0 }); slide.addShape(pptx.ShapeType.line, { x: 0.85, y: 2.75, w: 4.5, h: 0, line: { color: COLORS.gold, width: 4 } }); items.forEach((it, i) => { slide.addText(${String(i+1).padStart(2,'0')} ${it}, { x: 1.0, y: 3.25 + i*0.55, w: 7.8, h: 0.32, fontFace: FONT, fontSize: 15, color: i===0?COLORS.orange:COLORS.navy, bold: i===0, margin: 0 }); }); slide.addImage({ path: IMG.coiled, ...imageSizingCrop(IMG.coiled, 9.2, 0.7, 3.6, 5.6) }); slide.addText(String(no).padStart(2,'0'), { x: 12.25, y: 7.03, w: 0.55, h: 0.18, fontFace: FONT, fontSize: 7, color: COLORS.gray, align: 'right', margin: 0 }); addNotes(slide, sources.concat([SRC.imgCoiled])); }

function addBullets(slide, bullets, x, y, w, fontSize=13, color=COLORS.gray, gap=0.45) { bullets.forEach((b, i) => { slide.addText('•', { x, y: y + igap, w: 0.25, h: 0.25, fontFace: FONT, fontSize, color: COLORS.gold, bold: true, margin: 0 }); slide.addText(b, { x: x+0.28, y: y + igap, w, h: 0.32, fontFace: FONT, fontSize, color, margin: 0, fit: 'shrink' }); }); }

function addKpi(slide, value, label, x, y, w, color=COLORS.blue) { slide.addText(value, { x, y, w, h: 0.45, fontFace: FONT, fontSize: 22, bold: true, color, align: 'center', margin: 0 }); slide.addText(label, { x, y: y+0.5, w, h: 0.32, fontFace: FONT, fontSize: 10, color: COLORS.gray, align: 'center', margin: 0, fit: 'shrink' }); }

function addMatrix(slide, headers, rows, x, y, w, h, colW) { const rh = h / (rows.length + 1); let cx = x; headers.forEach((hd, j) => { slide.addText(hd, { x: cx, y, w: colW[j], h: rh0.8, fontFace: FONT, fontSize: 10.5, bold: true, color: COLORS.white, align: 'center', valign: 'mid', fill: { color: j===0 ? COLORS.navy : COLORS.blue }, margin: 0.02, fit: 'shrink' }); cx += colW[j]; }); rows.forEach((r, i) => { cx = x; r.forEach((cell, j) => { slide.addText(cell, { x: cx, y: y + rh(i+1), w: colW[j], h: rh*0.86, fontFace: FONT, fontSize: 9.3, color: j===0?COLORS.navy:COLORS.gray, bold: j===0, align: j===0?'center':'left', valign: 'mid', fill: { color: i%2===0 ? 'F6FBFE' : 'FFFFFF' }, line: { color: COLORS.ltGray, width: 0.5 }, margin: 0.05, fit: 'shrink' }); cx += colW[j]; }); }); }

function addPill(slide, text, x, y, w, color=COLORS.blue) { slide.addText(text, { x, y, w, h: 0.35, fontFace: FONT, fontSize: 10, bold: true, color: COLORS.white, align: 'center', valign: 'mid', fill: { color }, line: { color, transparency: 100 }, radius: 0.12, margin: 0.02, fit: 'shrink' }); }

function addScreenshot(slide, path, x, y, w, h) { slide.addImage({ path, ...imageSizingContain(path, x, y, w, h) }); }

function addFlow(slide, steps, x, y, w, h, color=COLORS.blue) { const gap = 0.22; const boxW = (w - gap*(steps.length-1)) / steps.length; steps.forEach((s, i) => { slide.addText(s, { x: x + i*(boxW+gap), y, w: boxW, h, fontFace: FONT, fontSize: 10.5, bold: true, color: COLORS.navy, align: 'center', valign: 'mid', fill: { color: i%2===0 ? 'EAF6FF' : 'FFF7E8' }, line: { color: i%2===0 ? COLORS.blue : COLORS.gold, width: 1 }, radius: 0.14, margin: 0.08, fit: 'shrink' }); if (i < steps.length-1) { slide.addText('→', { x: x + (i+1)boxW + igap + 0.02, y: y + h/2 - 0.12, w: 0.18, h: 0.2, fontFace: FONT, fontSize: 12, color, align: 'center', margin: 0 }); } }); }

function addScale(slide, labels, x, y, w) { const step = w/(labels.length-1); slide.addShape(pptx.ShapeType.line, { x, y: y+0.18, w, h: 0, line: { color: COLORS.blue, width: 2 } }); labels.forEach((l, i)=>{ slide.addShape(pptx.ShapeType.ellipse, { x: x + stepi - 0.08, y: y+0.1, w: 0.16, h: 0.16, fill: { color: i===labels.length-1?COLORS.gold:COLORS.blue }, line: { color: COLORS.white, width: 0.5 } }); slide.addText(l, { x: x + stepi - 0.58, y: y+0.42, w: 1.15, h: 0.36, fontFace: FONT, fontSize: 8.5, color: COLORS.gray, align: 'center', margin: 0, fit: 'shrink' }); }); }

let no = 1; { const slide = pptx.addSlide(); addTitle(slide, '试油测试新技术', '无线传输、高温高压测试、分层测试、电缆地层测试、连续油管测试等方向综合调研', no++); }

{ const slide = pptx.addSlide(); addHeader(slide, '汇报逻辑:从“更准、更快、更安全”到一体化测试', '总览', no); addFooter(slide); addTextBlocks(slide, [ ['更准', '高精度压力计、流体识别、PVT取样、实时质量控制,使资料从“事后回看”转向“过程判断”。'], ['更快', '一趟管柱多层测试、射孔测试排液联作、连续油管拖动测试,缩短试油周期。'], ['更安全', '无线遥控阀、工具状态反馈、管柱安全评估、主动防砂和震击解脱降低井下复杂。'], ['更绿色', '电缆地层测试/深度瞬态测试可减少或替代部分常规DST放喷测试,降低排放和占用。'], ], 0.8, 1.35, 11.8, 4.4); addTextTagline(slide, '核心判断:未来试油测试将从“存储式单层作业”升级为“实时交互、多层联作、少起下钻、少放喷”的智能测试体系。', 0.9, 6.15, 11.2); addNotes(slide, [SRC.rdt, SRC.layered, SRC.wireless, SRC.slbOra, SRC.hallRez]); no++; }

function addTextBlocks(slide, arr, x, y, w, h) { const n = arr.length; const boxH = h / n - 0.12; arr.forEach((a, i) => { slide.addText(a[0], { x, y: y + i*(boxH+0.12), w: 1.2, h: boxH, fontFace: FONT, fontSize: 20, color: COLORS.white, bold: true, align: 'center', valign: 'mid', fill: { color: [COLORS.blue,COLORS.gold,COLORS.green,COLORS.orange][i%4] }, line: { color: 'FFFFFF', transparency: 100 }, radius: 0.12, margin: 0.02 }); slide.addText(a[1], { x: x+1.45, y: y + i*(boxH+0.12)+0.04, w: w-1.45, h: boxH-0.08, fontFace: FONT, fontSize: 14.2, color: COLORS.gray, margin: 0.04, fit: 'shrink' }); }); } function addTextTagline(slide, text, x, y, w) { slide.addText(text, { x, y, w, h: 0.58, fontFace: FONT, fontSize: 15, bold: true, color: COLORS.navy, fill: { color: 'F6FBFE' }, line: { color: COLORS.ltGray, width: 1 }, radius: 0.16, margin: 0.08, fit: 'shrink' }); }

{ const slide = pptx.addSlide(); addHeader(slide, '需求背景:复杂储层推动试油测试升级', '总览', no); addFooter(slide); addScreenshot(slide, IMG.layeredNeed, 0.75, 1.25, 5.9, 4.2); slide.addText('现场痛点', { x: 7.0, y: 1.25, w: 4.6, h: 0.35, fontFace: FONT, fontSize: 18, bold: true, color: COLORS.navy, margin: 0 }); addBullets(slide, ['测试层数增长,逐层上返导致周期、成本和等停同步增加。', '储层浸泡时间变长,可能加剧污染,影响表皮系数和产能认识。', '高温高压、深层超深层和高斜度井对工具可靠性提出更高要求。', '建设方更关注“现场快速决策”和“可靠真实产能”。'], 7.05, 1.82, 5.1, 13, COLORS.gray, 0.62); addKpi(slide, '一趟多层', '减少起下钻与压洗井', 7.0, 5.45, 1.8, COLORS.blue); addKpi(slide, '实时直读', '现场判断资料质量', 9.0, 5.45, 1.8, COLORS.gold); addKpi(slide, 'HPHT', '适配深层复杂工况', 11.0, 5.45, 1.8, COLORS.red); addNotes(slide, [SRC.layered, SRC.wireless, SRC.rdt]); no++; }

{ const slide = pptx.addSlide(); addHeader(slide, '技术版图:五条主线互相耦合', '总览', no); addFooter(slide); const headers = ['方向','核心作用','关键能力','代表技术/装备']; const rows = [ ['电缆地层测试','快速获取压力、流度、液性、PVT样品','高精度压力计、泵抽、取样、DFA','RDT/MDT/RCX/ORA'], ['高温高压测试','深层/超深层安全录取动态资料','HPHT压力计、耐温电路、合金与密封','200℃/35ksi级工具与石英表'], ['分层测试排液','一趟管柱录取多层参数与产能','电控阀、封隔器、射流泵、主动防砂','分层测试/射孔/排液联作'], ['无线传输/遥控','井下状态直读与井下工具远程控制','声波/电磁/磁耦合/中继网络','RezConnect、Muzic、CaTS、150℃系统'], ['连续油管测试','带压作业、拖动上返、循环控制','CT输送、封隔器、压力控制、实时测量','CT+DTT、CT+分层+无线'], ]; addMatrix(slide, headers, rows, 0.65, 1.3, 12.05, 4.65, [2.0,3.0,3.5,3.55]); addTextTagline(slide, '组合方向:以分层测试为井下作业骨架,以无线传输为数字神经,以HPHT工具为工况边界,以电缆/连续油管提升资料与时效。', 0.9, 6.25, 11.4); addNotes(slide, [SRC.rdt, SRC.layered, SRC.wireless, SRC.slbOra, SRC.hallRdt, SRC.bakerRcx, SRC.hallRez, SRC.slbMuzic, SRC.exproCats, SRC.coiledPatent]); no++; }

{ const slide = pptx.addSlide(); addHeader(slide, '技术演进:从存储式测试到智能交互测试', '总览', no); addFooter(slide); slide.addText('测试工具演进', { x: 0.8, y: 1.28, w: 2.6, h: 0.35, fontFace: FONT, fontSize: 17, bold: true, color: COLORS.navy, margin: 0 }); addScale(slide, ['机械阀/存储压力计','压控阀/常规DST','电控阀/多层联作','无线直读/声波遥控','智能规划/闭环控制'], 0.9, 1.95, 10.6); addTextBlocks(slide, [ ['阶段一', '以可靠录取为目标:单层、存储、事后解释,现场决策慢。'], ['阶段二', '以效率提升为目标:分层、联作、减少起下钻。'], ['阶段三', '以智能交互为目标:实时数据、遥控开关井、井下状态反馈。'], ], 1.0, 3.05, 10.8, 2.8); addNotes(slide, [SRC.layered, SRC.wireless, SRC.hallRez, SRC.slbMuzic]); no++; }

{ const slide = pptx.addSlide(); addHeader(slide, '未来目标:少起下钻、少放喷、实时闭环', '总览', no); addFooter(slide); addFlow(slide, ['精准选层','一趟多层','实时质量控制','遥控开关井','现场解释决策'], 0.85, 1.45, 11.7, 0.9, COLORS.blue); slide.addText('技术成熟度判断', { x: 0.95, y: 2.85, w: 3.0, h: 0.35, fontFace: FONT, fontSize: 17, bold: true, color: COLORS.navy, margin: 0 }); const headers = ['维度','当前可用','下一步突破']; const rows = [ ['资料录取','压力/温度/取样/流体识别较成熟','低渗、非均质、多相流实时解释'], ['作业效率','分层和联作已验证节周期','多层射孔测试排液一次完成'], ['井下通讯','电磁/声波单项试验取得进展','全井多级中继协同与高可靠通讯'], ['工具边界','150℃/70MPa形成基础能力','175℃以上、长时供电、抗震抗干扰'], ]; addMatrix(slide, headers, rows, 0.9, 3.4, 11.55, 2.6, [2.0,4.6,4.95]); addNotes(slide, [SRC.layered, SRC.wireless, SRC.slbOra, SRC.hallRez]); no++; }

// 电缆地层测试章节 addSectionSlide(no++, '一、电缆地层测试与小型试油', '从“测压力取样”走向“动态储层评价”', ['基本原理与作业流程','RDT/MDT/RCX/ORA能力对比','适用边界与与DST互补'], [SRC.rdt, SRC.slbOra, SRC.hallRdt, SRC.bakerRcx]);

{ const slide = pptx.addSlide(); addHeader(slide, '电缆地层测试:快速、经济、环保的储层评价入口', '电缆地层测试', no); addFooter(slide); addImagePair(slide, IMG.rdtTool, IMG.saturn, 0.75, 1.25, 5.3, 4.4, 6.6, 1.25, 5.9, 4.4); addBullets(slide, ['典型资料:地层压力、流度/渗透率、压力剖面、流体识别、PVT取样。', '与传统DST相比,WFT通常具备周期短、现场风险小、排放低等优势。', '先进平台正把深度瞬态测试、下井泵抽、智能流量控制集成到单趟作业。'], 0.9, 5.95, 11.1, 12.2, COLORS.gray, 0.36); addNotes(slide, [SRC.rdt, SRC.rigzoneFt, SRC.slbOra, SRC.hallRdt, SRC.imgSaturn]); no++; } function addImagePair(slide, p1, p2, x1,y1,w1,h1,x2,y2,w2,h2){ slide.addImage({ path:p1, ...imageSizingContain(p1,x1,y1,w1,h1) }); slide.addImage({ path:p2, ...imageSizingCrop(p2,x2,y2,w2,h2) }); }

{ const slide = pptx.addSlide(); addHeader(slide, '作业流程:从 seal test 到 sample capture', '电缆地层测试', no); addFooter(slide); addFlow(slide, ['定位深度','探针/封隔器坐封','预测试 drawdown','压力恢复/流度','泵抽清洗','污染监测','PVT取样'], 0.7, 1.35, 12.0, 0.78, COLORS.blue); addScreenshot(slide, IMG.rdtDual, 0.8, 2.4, 5.65, 3.55); slide.addText('质量控制关键点', { x: 6.95, y: 2.4, w: 3.2, h: 0.35, fontFace: FONT, fontSize: 18, bold: true, color: COLORS.navy, margin: 0 }); addBullets(slide, ['坐封质量:小体积压降和恢复曲线验证密封。', '流动制度:避免过大压差造成出砂或两相流。', '污染趋势:电阻率、光学、密度、粘度等指标连续监控。', '取样条件:泡点以上单相取样,减少泥浆滤液污染。'], 7.0, 2.95, 4.9, 13, COLORS.gray, 0.55); addNotes(slide, [SRC.rdt, SRC.rigzoneFt, SRC.hallRdt]); no++; }

{ const slide = pptx.addSlide(); addHeader(slide, '工具架构:模块化让测试目标与井况匹配', '电缆地层测试', no); addFooter(slide); addScreenshot(slide, IMG.rdtConfig, 0.75, 1.3, 5.8, 4.8); const headers = ['模块','功能','价值']; const rows = [ ['QGS','石英压力计/高分辨率压力','支撑压力剖面和压力恢复解释'], ['DPS/Probe','双探针/聚焦探针','压力、流度、各向异性、低污染采样'], ['FPS/Pump','泵抽与流量/压力控制','清洗井筒污染、单相取样'], ['MCS/CVS','多采样桶/阀控取样','多层/多阶段PVT样品'], ['DFA/MR','井下流体识别/核磁等','液性、粘度、扩散与污染趋势'], ]; addMatrix(slide, headers, rows, 6.95, 1.35, 5.5, 4.55, [1.35,2.0,2.15]); addNotes(slide, [SRC.rdt, SRC.hallRdt, SRC.bakerRcx, SRC.slbOra]); no++; }

{ const slide = pptx.addSlide(); addHeader(slide, 'RDT/MDT/RCX/ORA:关键性能代际提升', '电缆地层测试', no); addFooter(slide); const headers = ['平台','典型温压边界','关键特点','启示']; const rows = [ ['RDT','350°F、20,000 psi','双探针、泵抽、取样桶、模块化','适合作为裸眼测试能力补强'], ['RCX','375°F、27,000 psi','HPHT压力/取样、钛合金样品完整性','面向高压高温和酸性环境'], ['ORA','392°F、35,000 psi','DTT、双流线、自动流量控制、云端协同','WFT与DST边界继续融合'], ['MDT/Saturn','多探针/径向探针','低渗/复杂流体采样能力提升','低渗和污染控制是重点'], ]; addMatrix(slide, headers, rows, 0.72, 1.25, 12.0, 4.6, [1.45,2.35,4.1,4.1]); addTextTagline(slide, '趋势:承压耐温、泵抽能力、自动流量控制、深度瞬态测试和实时协同,是新一代电缆地层测试平台的主要竞争点。', 0.95, 6.15, 11.1); addNotes(slide, [SRC.rdt, SRC.hallRdt, SRC.bakerRcx, SRC.slbOra, SRC.slbOraPs]); no++; }

{ const slide = pptx.addSlide(); addHeader(slide, '井下流体识别:从“取样后实验室”前移到井下', '电缆地层测试', no); addFooter(slide); addScreenshot(slide, IMG.rdtMri, 0.7, 1.28, 6.1, 4.6); slide.addText('井下识别能力', { x: 7.12, y: 1.35, w: 3.2, h: 0.35, fontFace: FONT, fontSize: 18, bold: true, color: COLORS.navy, margin: 0 }); addBullets(slide, ['电阻率/电容/光学吸收等传感器识别油、气、水和污染变化。', 'MR流体分析可补充含氢指数、T1/T2谱、粘度指数和扩散信息。', '实时DFA与压力曲线结合,可决定何时储存样品和是否延长清洗。'], 7.15, 1.95, 4.8, 13.5, COLORS.gray, 0.65); addPill(slide, '核心价值:减少无效样品,增强流体性质与产能判断', 7.2, 5.55, 4.6, COLORS.green); addNotes(slide, [SRC.rdt, SRC.rigzoneFt, SRC.slbOra]); no++; }

{ const slide = pptx.addSlide(); addHeader(slide, '适用边界:WFT不是完全替代DST,而是重塑测试组合', '电缆地层测试', no); addFooter(slide); const headers = ['场景','优先技术','原因','注意事项']; const rows = [ ['压力梯度/流体界面','WFT','多点快速测压,界面识别效率高','泥饼质量和探针坐封'], ['PVT取样','WFT或DST','WFT快;DST样品体积大、代表性强','污染率、泡点、单相保持'], ['低渗/致密层','ORA/DTT或DST','小规模瞬态与深探测结合','测试时间与泵抽压差'], ['真实产能评价','DST/分层测试','较大流量和探测半径','井控、放喷、安全与环保'], ['平台/高成本井','WFT+DTT优先','降低占用与放喷,优化DST方案','需匹配井况和资料目标'], ]; addMatrix(slide, headers, rows, 0.72, 1.28, 12.0, 5.35, [2.05,2.0,3.55,4.4]); addNotes(slide, [SRC.rdt, SRC.rigzoneFt, SRC.slbOra]); no++; }

// HPHT addSectionSlide(no++, '二、高温高压测试', '把工具边界从“可下井”提升到“可可靠解释”', ['压力计与电子系统','密封、材料与长时供电','HPHT施工风险控制'], [SRC.slbGauge, SRC.weatherGauge, SRC.bakerRcx]);

{ const slide = pptx.addSlide(); addHeader(slide, 'HPHT挑战:温度、压力、时间和介质叠加', '高温高压测试', no); addFooter(slide); addImagePair(slide, IMG.gauge, IMG.rdtSpecs, 0.85, 1.35, 4.4, 4.4, 6.0, 1.35, 6.2, 4.4); addBullets(slide, ['高温使电池、传感器和电子器件寿命下降,造成长时测试不确定。', '高压与压差工况考验壳体强度、阀件密封、样品桶安全边界。', 'H2S/CO2、高矿化度和固相颗粒对材料、密封和泵抽部件要求更高。'], 1.0, 6.0, 11.0, 12.5, COLORS.gray, 0.36); addNotes(slide, [SRC.rdt, SRC.weatherGauge, SRC.bakerRcx, SRC.imgGauge]); no++; }

{ const slide = pptx.addSlide(); addHeader(slide, '压力计趋势:高精度石英、长时存储与无线直读并重', '高温高压测试', no); addFooter(slide); addKpi(slide, '225℃', 'SLB Signature最高温度等级', 1.2, 1.35, 2.4, COLORS.red); addKpi(slide, '30,000 psi', 'Signature/IntelleX高压等级', 4.2, 1.35, 2.4, COLORS.blue); addKpi(slide, '<0.1 psi', 'HPHT石英表分辨率典型能力', 7.2, 1.35, 2.4, COLORS.green); addKpi(slide, '400天', '低频采样长时存储能力', 10.2, 1.35, 2.4, COLORS.gold); const headers = ['能力','技术要点','测试价值']; const rows = [ ['高分辨率','石英压力传感器与温度补偿','识别微小压力变化和边界响应'], ['高温电子','陶瓷MCM、耐温电源、低功耗设计','保证长时测试稳定'], ['大容量存储','高频/低频采样策略和触发事件','兼顾压恢细节与全程记录'], ['无线读数','声波/电磁/网络中继','现场监控资料质量和工具状态'], ]; addMatrix(slide, headers, rows, 1.0, 3.2, 11.3, 3.1, [2.1,4.6,4.6]); addNotes(slide, [SRC.slbGauge, SRC.weatherGauge, SRC.slbMuzic]); no++; }

{ const slide = pptx.addSlide(); addHeader(slide, 'HPHT工具设计:强度、密封、热管理“三条线”', '高温高压测试', no); addFooter(slide); const headers = ['设计线','关键问题','建议配置']; const rows = [ ['结构强度','大压差、拉压扭复合载荷、射孔冲击','高强合金、有限元校核、试压试温'], ['密封可靠','高温蠕变、反复动作、腐蚀介质','金属密封/PEEK支撑/O形圈组合'], ['电子热寿命','电池衰减、器件漂移、噪声增大','低功耗电路、温漂补偿、冗余记录'], ['数据完整','起出后才知失效的风险','存储+直读双模式、事件回放'], ]; addMatrix(slide, headers, rows, 0.8, 1.35, 12.0, 4.0, [2.0,4.7,5.3]); addFlow(slide, ['设计校核','室内耐温耐压','振动/冲击/密封循环','地面联调','入井试验复盘'], 0.85, 5.85, 11.8, 0.65, COLORS.green); addNotes(slide, [SRC.layered, SRC.wireless, SRC.weatherGauge, SRC.slbGauge]); no++; }

{ const slide = pptx.addSlide(); addHeader(slide, 'HPHT施工控制:把风险前移到设计与联调', '高温高压测试', no); addFooter(slide); addTextBlocks(slide, [ ['作业前', '明确温压边界、井控窗口、样品压力等级、工具动作次数和失效预案。'], ['作业中', '监测井口压力、泵压、流量、实时井下压力/温度和无线通讯质量。'], ['作业后', '比对存储与直读数据,复核阀位、压力计漂移、样品瓶压力和取样时刻。'], ], 0.8, 1.35, 11.8, 3.4); addTextTagline(slide, '建议建立“工具谱系+工况窗口+试验记录+失效模式”的HPHT数据库,支撑自主工具升级和现场快速选型。', 1.0, 5.6, 11.0); addNotes(slide, [SRC.layered, SRC.wireless, SRC.weatherGauge, SRC.eCfrCt]); no++; }

// Layered addSectionSlide(no++, '三、分层测试排液技术', '从“一趟一层”升级到“一趟多层、测试射孔排液联作”', ['需求与核心价值','关键工具与工艺','现场应用效果'], [SRC.layered]);

{ const slide = pptx.addSlide(); addHeader(slide, '常规逐层上返:效率瓶颈驱动分层测试', '分层测试', no); addFooter(slide); addScreenshot(slide, IMG.layeredNeed, 0.8, 1.3, 5.7, 4.2); slide.addText('分层测试目标', { x: 7.0, y: 1.3, w: 3.4, h: 0.35, fontFace: FONT, fontSize: 18, bold: true, color: COLORS.navy, margin: 0 }); addBullets(slide, ['提高效率:一趟管柱多层测试,缩短决策周期。', '保障成果:分层录取压力、液性、产能和动态参数。', '降低成本:减少起下钻、压井、桥塞和等停。', '保护储层:减少工作液反复浸泡和洗压井次数。'], 7.05, 1.9, 4.9, 14, COLORS.gray, 0.55); addNotes(slide, [SRC.layered]); no++; }

{ const slide = pptx.addSlide(); addHeader(slide, '工艺原理:封隔分层 + 可控阀系 + 排液求产', '分层测试', no); addFooter(slide); addFlow(slide, ['下入管柱','校深坐封','第一层开井求产','第一层关井压恢','切换阀位','第二层排液/压恢','压井起钻'], 0.72, 1.35, 12.0, 0.78, COLORS.blue); addScreenshot(slide, IMG.layeredModes, 0.8, 2.35, 5.8, 3.8); slide.addText('核心在“可控切换”', { x: 7.1, y: 2.4, w: 3.6, h: 0.35, fontFace: FONT, fontSize: 18, bold: true, color: COLORS.navy, margin: 0 }); addBullets(slide, ['测试阀控制目标层开关井与取样。', '循环阀/旁通阀建立生产或循环通道。', '压力计托筒分层记录,验证层间密封。', '射流泵/抽汲/自喷等方式实现排液求产。'], 7.15, 2.98, 4.8, 13, COLORS.gray, 0.58); addNotes(slide, [SRC.layered]); no++; }

{ const slide = pptx.addSlide(); addHeader(slide, '关键工具一:电控测试阀与电控循环阀', '分层测试', no); addFooter(slide); addScreenshot(slide, IMG.layeredValve, 0.75, 1.25, 6.1, 4.4); const rows = [ ['电控测试阀','外径108mm,耐温150℃,耐压70MPa,开关次数>48,PVT取样1200ml。'], ['电控循环阀','同时具备关井和循环功能,侧孔过流面积934mm²,耐温150℃、耐压70MPa。'], ['控制方式','预设程序或环空压力脉冲,减少与其他压控工具冲突。'], ['可靠性','低功耗电路、平衡阀、复合密封和抗震设计提升多次动作稳定性。'], ]; addMatrix(slide, ['工具/能力','技术要点'], rows, 7.0, 1.35, 5.3, 4.55, [1.55,3.75]); addNotes(slide, [SRC.layered]); no++; }

{ const slide = pptx.addSlide(); addHeader(slide, '关键工具二:主动防砂、安全震击与射孔安全评估', '分层测试', no); addFooter(slide); const headers = ['风险','控制措施','作用']; const rows = [ ['出砂','基于测井和岩石力学建立临界生产压差','控制排液压差,降低砂卡和资料失真'], ['遇卡','安全震击解脱装置,最大震击力>50t','震击解卡或正转解脱,降低事故复杂'], ['射孔冲击','射孔段管柱与封隔器中心管安全评估','联作前定量核算安全系数'], ['层间串通','双压力计/多压力计验证封隔器和阀系密封','保证分层资料独立性'], ]; addMatrix(slide, headers, rows, 0.85, 1.35, 11.7, 3.6, [2.0,5.2,4.5]); addTextTagline(slide, '分层测试成败不只取决于阀能否动作,更取决于“压差—出砂—密封—管柱安全”的系统控制。', 1.0, 5.6, 11.0); addNotes(slide, [SRC.layered]); no++; }

{ const slide = pptx.addSlide(); addHeader(slide, '射流泵排液:把压差控制从“液垫经验”变成“可设计制度”', '分层测试', no); addFooter(slide); addScreenshot(slide, IMG.layeredJet, 0.75, 1.25, 5.9, 4.5); slide.addText('设计要点', { x: 7.05, y: 1.35, w: 3.2, h: 0.35, fontFace: FONT, fontSize: 18, bold: true, color: COLORS.navy, margin: 0 }); addBullets(slide, ['通过喷嘴—喉管—扩散管形成负压,泵压和结构配比可调。', '泵排制度需受储层临界出砂压差约束,兼顾排液效率与地层保护。', '射流泵可与排液、测试、压裂返排等工艺协同。'], 7.1, 1.95, 4.9, 13, COLORS.gray, 0.68); addKpi(slide, '50MPa', '施工泵压', 7.1, 4.8, 1.8, COLORS.blue); addKpi(slide, '4000m', '泵筒下深', 9.2, 4.8, 1.8, COLORS.green); addKpi(slide, '300m³/d', '最大排液量', 11.0, 4.8, 1.8, COLORS.gold); addNotes(slide, [SRC.layered]); no++; }

{ const slide = pptx.addSlide(); addHeader(slide, '三种分层工艺:按井况选择“排液、测试、射孔联作”', '分层测试', no); addFooter(slide); const headers = ['工艺','适用井况','获取资料','关键作业']; const rows = [ ['分层排液','多个已射开层','液性、产能、温度压力','阀切换+泵排/抽汲/自喷'], ['分层测试排液','多个已射开层','动态参数、液性、产能','开关井+压恢+排液'], ['分层测试射孔排液','一层已射开、另一层未射孔','动态参数、液性、产能','射孔+测试+排液一趟联作'], ]; addMatrix(slide, headers, rows, 0.85, 1.35, 11.7, 2.6, [2.15,3.1,3.05,3.4]); addScreenshot(slide, IMG.layeredModes, 2.2, 4.2, 8.8, 2.2); addNotes(slide, [SRC.layered]); no++; }

{ const slide = pptx.addSlide(); addHeader(slide, '案例1:XL901井一趟管柱两层排液', '分层测试', no); addFooter(slide); addScreenshot(slide, '/mnt/data/分层地层测试排液技术/slide-24.png', 0.8, 1.25, 5.9, 4.6); slide.addText('应用认识', { x: 7.1, y: 1.35, w: 3.2, h: 0.35, fontFace: FONT, fontSize: 18, bold: true, color: COLORS.navy, margin: 0 }); addBullets(slide, ['29/33层和46层分开落实液性产能,避免笼统排液干扰结论。', '电控测试阀和滑套密封良好,压力曲线验证层间无串通。', '证明“分层排液”适合多射开层老井复试和分层试采。'], 7.15, 1.95, 4.8, 13, COLORS.gray, 0.65); addNotes(slide, [SRC.layered]); no++; }

{ const slide = pptx.addSlide(); addHeader(slide, '案例2:L31井分层测试周期从约27天降到13天', '分层测试', no); addFooter(slide); addScreenshot(slide, IMG.layeredL31, 0.75, 1.25, 6.0, 4.6); addKpi(slide, '13天', '分层测试累计用时', 7.2, 1.55, 1.8, COLORS.blue); addKpi(slide, '27天', '逐层上返预计用时', 9.6, 1.55, 1.8, COLORS.red); addBullets(slide, ['94#与80-81#层分别录取动态参数、液性和产能。', '两段关井压力曲线光滑,层间密封和阀系动作得到验证。', '分层测试为同井多层评价提供了更快决策路径。'], 7.1, 3.25, 4.9, 13, COLORS.gray, 0.58); addNotes(slide, [SRC.layered]); no++; }

{ const slide = pptx.addSlide(); addHeader(slide, '案例3:Z96-1X井测试射孔排液联作', '分层测试', no); addFooter(slide); addScreenshot(slide, IMG.layeredZ96, 0.75, 1.25, 6.15, 4.6); slide.addText('联作价值', { x: 7.2, y: 1.35, w: 3.2, h: 0.35, fontFace: FONT, fontSize: 18, bold: true, color: COLORS.navy, margin: 0 }); addBullets(slide, ['一趟管柱完成111-118#与107-108#两段试油,并完成107-108#射孔。', '分别录取压力、温度、产量,验证两层物性和产能差异。', '适合“未射开层+已射开层”的快速评价工况。'], 7.25, 1.95, 4.8, 13, COLORS.gray, 0.65); addNotes(slide, [SRC.layered]); no++; }

// Wireless addSectionSlide(no++, '四、无线传输与遥控测试', '让井下工具从“盲作业”变成“可对话系统”', ['实时压力温度直读','声波/电磁/磁耦合中继','遥控测试阀与工具状态反馈'], [SRC.wireless, SRC.hallRez, SRC.slbMuzic, SRC.exproCats]);

{ const slide = pptx.addSlide(); addHeader(slide, '为什么需要无线:存储式无法支撑快速试油', '无线传输', no); addFooter(slide); addTextBlocks(slide, [ ['传统模式', '压力温度由存储式压力计记录,起出管柱后才能获取资料;作业期间难以判断资料质量和工具状态。'], ['无线模式', '井下压力、温度、阀位和事件状态实时上传;地面可下发指令,形成可验证的闭环作业。'], ['价值体现', '缩短等停、减少无效测试、降低误判和井下复杂风险,支撑多层联作。'], ], 0.8, 1.35, 11.8, 3.4); addFlow(slide, ['采集','编码','中继','地面解码','解释决策','下发指令'], 1.0, 5.45, 11.1, 0.72, COLORS.gold); addNotes(slide, [SRC.wireless, SRC.hallRez, SRC.slbMuzic, SRC.exproCats]); no++; }

{ const slide = pptx.addSlide(); addHeader(slide, '无线技术谱系:电磁、声波、磁耦合各有边界', '无线传输', no); addFooter(slide); const headers = ['方式','优势','限制','适合场景']; const rows = [ ['磁耦合','跨短节近距离高速通讯','距离短、需配套接口','工具间近程组网'], ['低频电磁','可跨封隔器/管柱短距通讯','衰减受井筒和介质影响','阀下—中继对接'], ['声波','沿油管/管柱中继距离较长','速率低、受噪声和接触影响','全井远距上传与遥控'], ['有线/电缆对接','带宽高、稳定性强','需电缆介入或专用短节','试验、标定和关键井验证'], ]; addMatrix(slide, headers, rows, 0.75, 1.32, 12.0, 4.8, [1.6,3.1,3.3,4.0]); addTextTagline(slide, '工程化思路:近程用磁耦合/电磁解决工具间互联,远距用声波中继上传,关键节点保留存储冗余。', 0.95, 6.32, 11.2); addNotes(slide, [SRC.wireless, SRC.slbMuzic, SRC.hallRez, SRC.exproCats]); no++; }

{ const slide = pptx.addSlide(); addHeader(slide, '150℃实时交互式系统:阀下电磁 + 遥控阀 + 声波中继', '无线传输', no); addFooter(slide); addScreenshot(slide, IMG.wirelessArch, 0.75, 1.25, 6.25, 4.7); slide.addText('系统构成', { x: 7.35, y: 1.35, w: 3.0, h: 0.35, fontFace: FONT, fontSize: 18, bold: true, color: COLORS.navy, margin: 0 }); addBullets(slide, ['双模式压力计:存储+直读冗余记录。', '电磁收发仪:与井下工具近程通讯并向中继传递。', '双模式中继器:电磁接收、声波上传/下发。', '声波中继器:多级远距上传至井口接收装置。', '遥控测试阀:接收指令,实现开关井和状态反馈。'], 7.35, 1.95, 4.65, 12.2, COLORS.gray, 0.5); addNotes(slide, [SRC.wireless]); no++; }

{ const slide = pptx.addSlide(); addHeader(slide, '关键部件:双模式压力计与电磁收发仪', '无线传输', no); addFooter(slide); addScreenshot(slide, IMG.wirelessCircuit, 0.72, 1.25, 6.05, 4.65); const headers = ['部件','指标/功能','设计关注']; const rows = [ ['压力计','压力测量精度误差<0.03%F·S','标定、温漂、存储与直读一致性'], ['磁耦合','工具间ASK通讯,4800bps','接口模块化、近程可靠通讯'], ['低频电磁','FSK通讯,80bps','发射功率、地层/管柱衰减'], ['外壳材料','17-4PH/Inconel 718等','强度、耐温、耐腐蚀、密封'], ]; addMatrix(slide, headers, rows, 7.0, 1.35, 5.55, 4.6, [1.35,2.25,1.95]); addNotes(slide, [SRC.wireless]); no++; }

{ const slide = pptx.addSlide(); addHeader(slide, '中继与算法:低速、强噪声环境下保证可解码', '无线传输', no); addFooter(slide); addScreenshot(slide, IMG.wirelessRelay, 0.72, 1.25, 6.1, 4.6); slide.addText('信号处理闭环', { x: 7.1, y: 1.35, w: 3.2, h: 0.35, fontFace: FONT, fontSize: 18, bold: true, color: COLORS.navy, margin: 0 }); addFlow(slide, ['采集','带通滤波','FFT识别','纠错交织','门限自适应','解码/转发'], 7.05, 2.0, 5.25, 2.45, COLORS.blue); addBullets(slide, ['声波中继速率低,但可实现远距上传和指令下发。', '现场噪声、管柱接触状态和采油树传播路径是可靠性关键。'], 7.12, 5.05, 4.8, 12.5, COLORS.gray, 0.5); addNotes(slide, [SRC.wireless, SRC.slbMuzic, SRC.hallRez]); no++; }

{ const slide = pptx.addSlide(); addHeader(slide, '遥控测试阀:无线闭环的执行端', '无线传输', no); addFooter(slide); addScreenshot(slide, IMG.wirelessValve, 0.75, 1.25, 6.25, 4.6); const headers = ['能力','意义']; const rows = [ ['远程开关井','减少依赖环空压力或机械动作,提升多工具协同灵活性'], ['阀位反馈','地面确认动作是否完成,降低“假设已动作”的风险'], ['冗余控制','保留压力控制/预设程序等备份路径,提高安全边界'], ['多层联作','支撑分层测试、射孔排液与连续油管拖动测试'], ]; addMatrix(slide, headers, rows, 7.2, 1.35, 5.2, 4.45, [1.6,3.6]); addNotes(slide, [SRC.wireless, SRC.hallRez]); no++; }

{ const slide = pptx.addSlide(); addHeader(slide, '国际对标:声波遥控DST已进入商业化应用', '无线传输', no); addFooter(slide); const headers = ['系统','关键能力','公开指标/案例']; const rows = [ ['RezConnect','全声波控制DST、实时测量与分析、采样器激活','Halliburton称700+作业,15k+psi,案例中100%通讯成功'], ['Muzic Aeon','双向声波无线、重复器网络、HPHT/含硫环境','30,000psi、392°F、单跳约1,000ft、30-365天'], ['CaTS','无缆实时下井监测、DST SRO、长周期井下无线','20多个国家应用,单井多个测点,无线数据按需上传'], ['启示','从“单点传输”走向“工具链控制与状态反馈”','商业化重点是可靠性、冗余、现场验证和服务流程'], ]; addMatrix(slide, headers, rows, 0.7, 1.28, 12.0, 5.2, [1.75,4.15,6.1]); addNotes(slide, [SRC.hallRez, SRC.hallRezCase, SRC.slbMuzic, SRC.exproCats]); no++; }

{ const slide = pptx.addSlide(); addHeader(slide, '现场试验复盘:从“能传”走向“稳定协同”', '无线传输', no); addFooter(slide); addScreenshot(slide, IMG.wirelessTrial, 0.75, 1.25, 6.0, 4.6); slide.addText('已验证', { x: 7.15, y: 1.3, w: 2.0, h: 0.32, fontFace: FONT, fontSize: 17, bold: true, color: COLORS.green, margin: 0 }); addBullets(slide, ['单级声波、电磁电缆对接、无线回放、封隔器坐封影响等多个场景已开展。', '压力计数据记录正常,部分井实现地面直读和长时工作。'], 7.15, 1.8, 4.8, 12.5, COLORS.gray, 0.5); slide.addText('仍需突破', { x: 7.15, y: 3.4, w: 2.0, h: 0.32, fontFace: FONT, fontSize: 17, bold: true, color: COLORS.orange, margin: 0 }); addBullets(slide, ['声波中继多级协同、远程阀联合入井、全井双向交互稳定性。', '电池寿命、采样策略、现场噪声识别和故障诊断流程。'], 7.15, 3.9, 4.8, 12.5, COLORS.gray, 0.5); addNotes(slide, [SRC.wireless]); no++; }

// Wireline/CT addSectionSlide(no++, '五、连续油管与一体化测试', '把测试、排液、清洗和拖动上返整合成可控作业平台', ['电缆地层测试的扩展应用','连续油管带压/循环测试','一体化技术路线'], [SRC.coiledPatent, SRC.eCfrCt, SRC.slbOra]);

{ const slide = pptx.addSlide(); addHeader(slide, '电缆地层测试扩展:从压力剖面到小型试油', '连续油管与一体化', no); addFooter(slide); addScreenshot(slide, IMG.rdtSpecs, 0.75, 1.25, 6.05, 4.65); slide.addText('可承担的“试油前置”任务', { x: 7.15, y: 1.35, w: 4.0, h: 0.35, fontFace: FONT, fontSize: 18, bold: true, color: COLORS.navy, margin: 0 }); addBullets(slide, ['压力系统与流体界面识别,指导射孔和试油层位优选。', '低污染PVT取样,提前评价流体性质和地面流程。', '小规模泵抽与DTT,判断流度、连通性和试油必要性。', '为DST设计提供约束:目标层、流量、压差、关井时间。'], 7.15, 1.95, 4.85, 13, COLORS.gray, 0.6); addNotes(slide, [SRC.rdt, SRC.slbOra, SRC.hallRdt, SRC.rigzoneFt]); no++; }

{ const slide = pptx.addSlide(); addHeader(slide, '连续油管测试:带压输送、循环控制和拖动上返的组合能力', '连续油管与一体化', no); addFooter(slide); slide.addImage({ path: IMG.coiled, ...imageSizingCrop(IMG.coiled, 0.8, 1.25, 5.8, 4.6) }); const headers = ['优势','具体价值']; const rows = [ ['带压作业','可在井控条件下输送工具、循环、清洗和控制井筒流体'], ['连续循环','与深度瞬态测试/清洗联动,改善井控和排液效率'], ['拖动上返','适合多层分段测试,减少重复起下钻'], ['工具承载','可携带封隔器、压力计、射流泵、遥控阀和无线节点'], ]; addMatrix(slide, headers, rows, 7.0, 1.35, 5.55, 4.4, [1.55,4.0]); addNotes(slide, [SRC.coiledPatent, SRC.eCfrCt, SRC.imgCoiled]); no++; }

{ const slide = pptx.addSlide(); addHeader(slide, '集成概念:连续油管 + 分层工具 + 全井无线', '连续油管与一体化', no); addFooter(slide); addFlow(slide, ['CT带压下入','非旋转封隔器坐封','目标层开井排液','实时上传P/T/阀位','拖动上返切层','压井/循环退出'], 0.7, 1.35, 12.0, 0.78, COLORS.green); const headers = ['模块','集成要点','预期收益']; const rows = [ ['井下工具','电控阀、循环阀、封隔器、射流泵、压力计','一趟完成多层测试排液'], ['无线网络','阀下电磁、工具间磁耦合、声波多级中继','实时直读和遥控切换'], ['地面系统','CT泵注/回收、采集解码、试井解释联动','边测边判、减少等停'], ['风险控制','井控、出砂、管柱力学、射孔安全评估','降低卡钻、串层和误动作风险'], ]; addMatrix(slide, headers, rows, 0.85, 2.6, 11.7, 3.5, [1.8,5.1,4.8]); addNotes(slide, [SRC.layered, SRC.wireless, SRC.coiledPatent, SRC.eCfrCt]); no++; }

{ const slide = pptx.addSlide(); addHeader(slide, '技术路线图:由资源共享到自主作业', '实施建议', no); addFooter(slide); addFlow(slide, ['2026\n消化吸收与联合服务','2027\n150℃系统联合作业','2028\n175℃升级与多层联作','2029+\nCT+无线+分层闭环'], 0.85, 1.45, 11.7, 1.05, COLORS.blue); const headers = ['阶段','重点任务','交付成果']; const rows = [ ['近期','建立技术标准、施工设计模板、数据解释流程和试验井优选机制','形成试油测试新技术作业手册'], ['中期','完成遥控阀、双模式中继、声波多级协同和分层管柱联调','形成2-3种成熟管柱组合'], ['远期','升级175℃工具、引入连续油管输送和闭环解释软件','形成自主化智能测试服务能力'], ]; addMatrix(slide, headers, rows, 0.9, 3.2, 11.55, 2.9, [1.6,5.4,4.55]); addNotes(slide, [SRC.rdt, SRC.layered, SRC.wireless, SRC.slbMuzic, SRC.coiledPatent]); no++; }

{ const slide = pptx.addSlide(); addHeader(slide, '结论与建议:构建试油测试新技术体系', '结论', no); addFooter(slide); addTextBlocks(slide, [ ['总体判断', '试油测试正在向实时交互、少起下钻、多层联作、HPHT高可靠和低排放方向发展。'], ['技术抓手', '以分层测试排液为主线,补强电缆地层测试和HPHT工具,推动无线遥控测试进入联合作业。'], ['落地路径', '短期共享资源和现场试验,中期形成150℃成熟管柱,远期升级175℃并集成连续油管。'], ['管理建议', '建立试验井池、工具谱系数据库、标准设计包和资料质量评价模板。'], ], 0.85, 1.35, 11.7, 4.4); addTextTagline(slide, '建议优先开展:无线遥控阀+分层测试排液、HPHT压力计与样品保持、连续油管携带分层工具三项联合攻关。', 1.0, 6.2, 11.0); addNotes(slide, [SRC.rdt, SRC.layered, SRC.wireless, SRC.slbOra, SRC.hallRez, SRC.slbMuzic, SRC.exproCats, SRC.coiledPatent]); no++; }

// Diagnostics for (const s of pptx._slides) { try { warnIfSlideHasOverlaps(s, pptx); warnIfSlideElementsOutOfBounds(s, pptx); } catch (e) { console.warn('Diagnostic warning:', e.message); } }

pptx.writeFile({ fileName: '/mnt/data/试油测试新技术汇报材料.pptx' }); EOF node /mnt/data/work_slides/create_deck.js

Refining the layout

I’m correcting the title slide because the image crop appears to extend into the text area and background elements create unnecessary overlap warnings. I’ll simplify the slide, keep the image contained on the right, and preserve clear separation.

Refined the layout

bash -lc ls -lh /mnt/data/试油测试新技术汇报材料.pptx && node - <<'NODE' const pptxgen=require('pptxgenjs'); NODE

Removing Page Count and Validating Notes

Worked for 8m 14s

回答

已生成:下载PPTX

分享這個問答